【PHP】フレームワー ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
620:nobodyさん 08/04/09 23:44:43 デバッグモードを2に変更。実行したsqlが見れます 621:619 08/04/10 00:04:23 ysAxvq3P >>620 確認できました! ありがとうございます。 622:nobodyさん 08/04/10 10:23:53 Model->query()で以下のようなSQLを発行すると $sql = <<<EOF SELECT `Foo`.`id`, SUM(`Bar`.`hoge`) FROM `bars` AS `Bar` LEFT JOIN `foos` AS `Foo` ON (`Bar`.`foo_id` = `Foo`.`id`) WHERE `Foo`.`id` IN (1, 2, 3, 4, 5) GROUP BY `Foo`.`id` EOF; 連想配列の添字がおかしくなるのですが、回避はできないのでしょうか array( '0' => array( 'Foo' => array('id' => ***) '0' => array('SUM(`Bar`.`hoge`)' => ***) ←ここ ) . . . ) 623:nobodyさん 08/04/10 10:42:01 >>622 なんかqueryなんか使わないで、find()で出来そうな気がするんだが? queryだとRDBMSごとの違いを吸収できないことがあるのでお勧めしない。 んで、試してないんで間違っている可能性が高いんだが $sql = <<<EOF SELECT `Foo`.`id`, SUM(`Bar`.`hoge`) as `Bar`.`hoge` 以下同じ じゃだめかな? 内部的には帰ってくるデータのフィールド名がどうなっているかを判断して 連想配列に入れているようだから、SUM関数とか使うとフィールド名が CakePHP的に想定外になる。それが原因じゃないかな? ちなみに、この、 as `Bar`.`hoge`の文字列の部分がRDBMSによって違うので 考えなしに使ってしまうと、RDBMSごとの違いを吸収できなくなる。 (たしかPostgreSQLだとas Model__Field) もちろん、MySQLにだけ対応していればいいのなら、問題ないけどね。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4341日前に更新/213 KB
担当:undef