2013-07-12 64 views
0

我似乎有一個奇怪的問題。 使用Cakephp2我有3個相關的像表:Cakephp排序在第二級關聯表的字段

taxon->has genus_id 

genus -> has family_id 

使用分類羣模式,我可以正確retreive所有數據符合市場預期。現在我想分類家庭。因此,我已經手動將連接寫入分頁數組中。如果我將

'order' => 'Family.family desc' 

直接添加到頁面數組,排序按預期工作。但只限於參數

sort:Family.family/direction:desc 

不是網址的一部分。一旦這些參數被添加到url中,訂單部分就會被清空。我怎樣才能避免這種行爲,並得到正確的結果排序?

回答

0

該問題似乎是Paginator.validateSort的實現。如果傳遞了排序參數,則驗證排序檢查,如果模型具有傳遞的字段。此檢查僅針對模型和直接(第一級)相關模型完成,而不針對具有更深嵌套關聯的模型。 我通過修改validateSort方法解決了這個問題。我添加了(不是非常優雅的)可能性,以傳遞字段後跟感嘆號,如「Family.family!」。這些字段即使未通過檢查,也會添加到訂單數組中。

問候

亞歷