0
我試圖獲得學生的成績(最後一次插入)。如何在cakephp中加入
我可以很容易地使用mysql查詢來獲取記錄。
SELECT student.first_name,student.last_name,result.*
FROM result
join student
on student.student_id=result.student_id
WHERE result.id IN (
SELECT MAX(result.id) FROM result GROUP BY result.student_id
)
我嘗試將其轉換蛋糕的PHP這樣的分頁功能
$this->paginate = array(
'fields' => array(
'Student.first_name',
'Student.last_name',
'Result.*',
),
'joins' => array(
array(
'conditions' => array(
'Student.student_id = Result.student_id',
),
'table' => 'student',
'alias' => 'Student',
'type' => 'join',
),
),
'conditions' => array(
'Result.id' => array(
),
),
'limit'=>10,
'contain' => array(
'Student',
),
);
$data = $this->paginate('Result');
http://stackoverflow.com/questions/5079908/cakephp -find-method-with-join –
第一個查詢是找到學生和他們的最後結果記錄?這不會是一個非常有效的查詢,例如,在創建新結果時,有'students.last_result_id'並更新它會更有意義。您需要說明您正在使用的CakePHP版本(標記問題)。 – AD7six
版本2.6.X和自定義查詢工作正常 – dev