2011年12月23日金曜日

DBのテーブル連携

例えばユーザー管理テーブルとコンテンツ管理テーブルが別だったと刷る

ユーザー管理テーブルがこんな感じ
userid:username:sex :age
0001 :userA :male :26
0002 :userB :male :25
0003 :userC :female:23

コンテンツ管理テーブルがこんな感じ
contentsid:title:userid
00001 :hoge :0001
00002 :hage :0002
00003 :moge :0001
00004 :toge :0003


コンテンツ一覧を表示したいけど、そこにはuseridではなくそのuseridに
紐づくusernameを載せたい時は一々ユーザー管理テーブルを検索しなくちゃいけないのだろうか・・
なにかいい方法はないものかのお。

追記
こんな手法をみつけた

http://homepage1.nifty.com/rucio/main/VBdotNet/Database/Database10.htm

joinというものでテーブルを連結したかのようにして操作できるっぽい。

CaskePHPでモデル使ってjoin使うのはめんどくさそうだから直接phpでクエリを書いてしまおう。いやそれほど面倒でもなさそうだ。

http://d.hatena.ne.jp/aroundthedistance/20090422/1240396315

fieldsというものを定義してるのがポイント。実際にはfieldsの中には*(全てのカラムの意味)を使った。

0 件のコメント:

コメントを投稿