我想知道是否有方法來聲明我的教義模型的默認順序。原則默認排序屬性
例如
我有一個work
模型,它有photos
。當我加載作品時,與其關聯的所有照片都會被加載到$work->photos
中。當我展示他們時,他們按照他們的ID進行排序。
在另一個字段上聲明默認順序或者可能覆蓋取回行爲altoghether會非常方便。
我寧願不將照片轉換爲數組並使用usort。謝謝。
我想知道是否有方法來聲明我的教義模型的默認順序。原則默認排序屬性
例如
我有一個work
模型,它有photos
。當我加載作品時,與其關聯的所有照片都會被加載到$work->photos
中。當我展示他們時,他們按照他們的ID進行排序。
在另一個字段上聲明默認順序或者可能覆蓋取回行爲altoghether會非常方便。
我寧願不將照片轉換爲數組並使用usort。謝謝。
你可以在YAML如下指定:
如果它在表中的字段排序順序自身添加:
options:
orderBy: fieldname
其中options:
是相同的深度,你會有columns:
或relations:
條目。注:orderBy:
的大小寫是至關重要的;弄錯了,你會得到沒有錯誤,但也沒有排序。
如果它是一個關係的排序順序,然後,雙方的關係中,你可以跳過options:
一部分,只是把:
orderBy: fieldname
我不知道關於教義的第一件事,但是看起來你可以在調用create()時指定一個order by子句。
OK,我這多虧了這個帖子得到了周圍:http://www.littlehart.net/atthekeyboard/2010/02/04/sorting-relationship-results-in-doctrine-1-2-2/
在我的情況下,BaseWork.php文件有這樣的修改:
public function setUp()
{
parent::setUp();
$this->hasMany('Photo as photos', array(
'local' => 'id',
'orderBy' => 'display_order',
'foreign' => 'work_id'));
無論如何,這將是最好在schema.yml中指定它,這是我無法工作的。
或者通過@OrderBy註釋:HTTP://www.doctrine-project。 org/docs/orm/2.0/en/reference/annotations-reference.html#annref-order by – Alex 2011-11-21 12:49:33