SocietyもしくはMathematicsの試験を受けたユーザーのユーザー情報と、Society','Mathematicsのテストの点数の情報を読み出す
//SocietyもしくはMathematicsの試験を受けたユーザーの
//ユーザー情報と、
//Society','Mathematicsのテストの点数の情報を読み出す
$conditions = array(
'OR' => array(
'Shiken.kamoku' => array('Society','Mathematics')
),
);
$this->paginate = array('User' =>
array(
'limit' => 10,
'order' => array('User.id' => 'desc'),
'joins' => array(
array('type' => 'inner', 'alias' => 'Shiken', 'table' => 'hideblog_shikens',
'conditions' => 'User.id = Shiken.user_id')//'conditions' => array('User.id = Shiken.user_id','Shiken.tokuten' => 58)); と書くことでShikenテーブルの条件を絞って取得することができる。
),
'conditions' => $conditions,
'group' => array('User.id'),//これが重要。ここでまとめないと、一つのテストに対して同じユーザーが何度も表示される。
'page' => 1)
);
//SocietyもしくはMathematicsの試験を受けたユーザーの
//ユーザー情報と、
//Society','Mathematicsのテストの点数の情報
//点数が高い順に読み出す
$conditions = array(
'OR' => array(
'Shiken.kamoku' => array('Society','Mathematics')
),
);
$this->paginate = array('User' =>
array(
'limit' => 10,
'order' => array('User.id' => 'desc'),
'joins' => array(
array('type' => 'inner', 'alias' => 'Shiken', 'table' => 'hideblog_shikens',
'conditions' => 'User.id = Shiken.user_id')
),
'conditions' => $conditions,
'group' => array('User.id'),//これが重要。ここでまとめないと、一つのテストに対して同じユーザーが何度も表示される。
'page' => 1)
);
//一度くっついているモデルを外して、表示順を指定して hasManyし直す
$this->User->unbindModel(array('hasMany' => array('Shiken')),false);
$this->User->bindModel(array('hasMany' =>
array('Shiken' =>
array(
'order' => array('Shiken.score' => 'desc')
)
)
),false);
てな、感じかな。まぁ、ここまではいいとして。
次は
全てのテストの総合得点が高い順に並び変え・・・をできるのか勉強してみよう。
続きます。



