0
我需要修改CakePHP中的一個系統,將字段上的字母排序順序更改爲字母順序排列,但是減去第一個字符(同時仍顯示整個字段)。高級排序CakePHP
所以基本上,如果他們有.. a1, a3, b2, b4
的排序順序將是a1, b2, a3, b4
目前各種基於find()
的代碼是有辦法,我可以強制這種類型的排序爲它還是我需要寫一些類型自定義查詢?
我需要修改CakePHP中的一個系統,將字段上的字母排序順序更改爲字母順序排列,但是減去第一個字符(同時仍顯示整個字段)。高級排序CakePHP
所以基本上,如果他們有.. a1, a3, b2, b4
的排序順序將是a1, b2, a3, b4
目前各種基於find()
的代碼是有辦法,我可以強制這種類型的排序爲它還是我需要寫一些類型自定義查詢?
好..你有兩種選擇:
查詢後用php排序。您可以使用。但是,這不會,如果你想分頁結果
工作,或者你可以修改查找查詢到這樣的事情:
$this->MyModel->find('all',array(... ,'order'=>'SUBSTRING(MyTable.sortfield,2) ASC'));
的想法是產生這樣的查詢:
SELECT * FROM `MyTable` WHERE ... ORDER BY SUBSTRING(sortfield,2);
祝你好運
你需要在分頁列表中排序嗎? – pleasedontbelong
不,我不需要分頁 - 最終結果將進入選擇框。 – Toby
所以也許它更好地排序在PHP中,因爲ORDER子句可以減慢你的查詢 – pleasedontbelong