1

我正在查询一个 Model*,它有一个引用另一个 Model 的字段。是否可以使用链接模型中的字段对结果进行排序?

例如:

Car 包含一个引用其 OWner 的字段。我想显示按所有者分类的所有汽车。

(我不想使用 statement() 方法,因为在这种情况下我必须自己编写整个查询)

(*) 使用http://typo3.org/api/typo3cms/class_t_y_p_o3_1_1_c_m_s_1_1_extbase_1_1_persistence_1_1_generic_1_1_query.html

4

3 回答 3

3

是的,有可能(暂时不关心$constraint):

$query->matching($constraint)->setOrderings(
    array('owner.sorting' => Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING)
)->execute();

假设您Car模型中的字段已命名owner,并且您希望按模型/表的sorting字段进行排序。Owner

于 2013-08-01T12:09:48.907 回答
1

使用 6.2 时

->setOrderings(Array('model.yourfield' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING))

于 2014-02-12T10:27:26.620 回答
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();
于 2014-06-05T14:32:19.703 回答