我想知道是否有方法来声明我的教义模型的默认顺序。原则默认排序属性
例如
我有一个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