我正在玩與我跑步的滑雪之旅有關的報價數據庫。我試圖列出報價,但是按照報價人員的名稱排序,並且正在努力讓分頁助手讓我這樣做。cakephp - 按頁面排序第二級關聯
我有四個相關的表。
報價,旅行,人和出席。出勤實質上是人和旅行的連接表。
關係如下;
考勤屬於關聯人的hasMany出席
考勤屬於關聯旅行的hasMany出席
出席的hasMany報價屬於出席
在QuotesController我使用中可容納檢索引用自田間地頭,與相關的考勤一起,和田野來自與出席相關的旅行和人員。
function index() {
$this->Quote->recursive = 0;
$this->paginate['Quote'] = array(
'contain' => array('Attendance.Person', 'Attendance.Trip'));
$this->set('quotes', $this->paginate());
}
這似乎做工精細,並在視圖,我可以附和了
foreach ($quotes as $quote) {
echo $quote['Attendance']['Person']['first_name'];
}
沒有任何問題。
我不能去工作正在訪問/使用PAGINATE
echo $this->Paginator->sort('Name', 'Attendance.Person.first_name');
或
echo $this->Paginator->sort('Location', 'Attendance.Trip.location');
相同的變量排序字段不工作。它似乎排序的東西,但我不知道是什麼。
我傳遞的$ quotes數組看起來像這樣;
Array
(
[0] => Array
(
[Quote] => Array
(
[id] => 1
[attendance_id] => 15
[quote_text] => Hello
)
[Attendance] => Array
(
[id] => 15
[person_id] => 2
[trip_id] => 7
[Person] => Array
(
[id] => 2
[first_name] => John
[last_name] => Smith
)
[Trip] => Array
(
[id] => 7
[location] => La Plagne
[year] => 2000
[modified] =>
)
)
)
我將非常感謝,如果有人可以建議我如何能夠通過與報價相關的人的FIRST_NAME的排序。我懷疑我的語法錯了,但我一直無法找到答案。以這種方式進行二級關聯是不可能的?
我幾乎全新與cakephp所以請溫柔。
非常感謝。
你解決了你的問題嗎?我面對的是完全一樣的。乾杯。 – Nicolas 2011-02-28 16:04:40
同樣的問題,如何解決這個問題 – baur79 2014-11-29 18:38:36