我正在查询Model *,它有一个引用另一个Model的字段。是否可以使用链接模型中的字段对结果进行排序?
例如:
Car包含一个引用其OWner的字段。我想显示所有按其所有者排序的汽车。
(我不想使用statement()方法,因为在这种情况下我必须自己编写整个查询)
答案 0 :(得分:3)
是的,有可能(暂时不关心$constraint
):
$query->matching($constraint)->setOrderings(
array('owner.sorting' => Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING)
)->execute();
假设您Car
模型中的字段名为owner
,并且您希望按sorting
模型/表的Owner
字段进行排序。
答案 1 :(得分:1)
使用6.2时
- > setOrderings(Array('model.yourfield'=> \ TYPO3 \ CMS \ Extbase \ Persistence \ QueryInterface :: ORDER_ASCENDING))
答案 2 :(得分:0)
@Michael和@ rob-ot是对的。有一个陷阱花了我很多时间,我想在这里提一下:
如果相关表格中的排序字段包含下划线,则必须在lowerCamelCase中为setSortOrderings提供其名称:
// with database column name my_car_sorting you must define:
$query->matching($constraint)->setOrderings(
array('owner.myCarSorting' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING)
)->execute();