人気ブログランキング | 話題のタグを見る

自作自演

Firefox の話題を中心に Web 関係の話も扱うつもりの雑記。だった。
zisakuzien.exblog.jp

Top

CakePHP で join をやりたかったメモ。

※この記事は 2010年に書かれた古い記事です。


「CakePHP 複数テーブル」でぐぐると3つ、ちょっとずつ違う話が出てくる。


1. コントローラの中で複数のモデルを使いたい。

コントローラの冒頭で
var $uses = array("Table1", "Table2", ...);
$components、$helpers、$uses :: コントローラの属性 :: コントローラ :: CakePHPによる開発 :: マニュアル :: 1.2コレクション :: The Cookbook


2. モデルを結び付けたい。

hasOne とかそういうもの。
関連: モデルを結びつける :: モデル :: CakePHPによる開発 :: マニュアル :: 1.2コレクション :: The Cookbook


3. join を使いたい。

使えるのは inner join と left join。
find で渡す条件の配列に joins という名前で配列を渡す。
テーブルをひとつだけ join したい場合、$joins = array(array(条件)); のようになるので、
うっかりしていると array をひとつ忘れてはまる。
$joins = array(
array(
'type' => 'inner', // もしくは left
'table' => 'fuga_table',
'alias' => 'Fuga',
'conditions' => array(
'Fuga.id = Hoge.id',
),
),
array(
// 複数のテーブルを joinできる
),
);
$param = array('joins' =>$joins , 'conditions'=>条件, 'order'=>並び順, ...);
$this->Hoge->find('all', $param);

参考
ZiSTA Cake: 'joins'で明示的にテーブルをJOINする
[cakephp]cakephp1.2で明示的にJOINさせるやり方
CakePHPのpaginateでJOIN [CakePHP] | Web&MUSICブログ QUALL
by tokage-shippo | 2010-07-15 19:06 | プログラミング
Mozilla Firefox ブラウザ無料ダウンロード

about this...

書き手の名前は 晴柳祐志 と言います。


リンク

Twitter
いつか何とかしたいサイト

最新のトラックバック

検索

S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
XML | ATOM

会社概要
プライバシーポリシー
利用規約
個人情報保護
情報取得について
免責事項
ヘルプ