2011年02月08日

hasManyでくっついてきた件数を数える

 
あーたまらん。目が痛い。
毎回、はまる。hasmanyのデータカウント。

で、まとめました。
$this->unbindModel(array('hasMany'=>array('SUBMODEL')));
$this->bindModel(array('belongsTo'=>array('SUBMODEL'=>array(
  'className'=>'SUBMODEL',
  'foreignKey'=> false,
  'conditions'=> array('SUBMODEL.jyouken' => 0,'MAINMODEL.id=SUBMODEL.MAINMODEL_id'),
  'type'=>'LEFT',//innder でも OK
  'fields'=>array('count(SUBMODEL.MAINMODEL_id) as num')))));

$res = $this->find('all', array('group'=>'MAINMODEL.id'));


こんなけ。
使いたい時は MAINMODEL を メインのモデル名(User等)
SUBMODEL を サブモデル名(Attachment,Post等)

って書き換えればおっけーなんですわ!

にしてもgroupby ってなんだよ。フィールドでまとめるって書いてあるけど、意味がわからん泣
関連するタグ: MYSQL cakephp PHP
あなたにとって有用な記事でしたか?是非ブックマークしておくことをおすすめします。
 




ライブラリを配布しちゃったり
webデザイン
HTMLコーディング
CSS
Fireworks
Dreamweaver
携帯サイト
webプログラム
PHP
正規表現
cakephp
MYSQL
javascript
webマーケティング
adwords
analytics
windows7
ショートカットキー
おすすめ情報
サイト
facebook
ライブラリ
配布
アプリ
iphone
ipad
サーバー
さくらサーバー
全ての記事を読む


[ うらこ先生を応援する! ]
by相性占い.net



トップ - 最新の記事一覧 - お問い合わせ