Typo3数据库查询 - 访问集合中的元素

时间:2014-05-30 14:26:00

标签: php typo3

我正在为我的某个存储库创建一个查询,并希望按包含元素集合的字段对结果进行排序。

我知道,我可以使用点符号来访问单个对象的属性。但是,还有一种方法可以访问,例如,集合的第一个条目吗?

...
$query = $this->createQuery();
if ($orderBy == 'collection') {
  if ($ordering == 'ascending') {
    $query->setOrderings(
      array(
        // Get only the first entry of the collection
        "collection.first.attribute" => \TYPO3\Flow\Persistence\QueryInterface::ORDER_ASCENDING
      )
    );
  } else {
    $query->setOrderings(
      array(
        // Get only the first entry of the collection
        "collection.first.attribute" => \TYPO3\Flow\Persistence\QueryInterface::ORDER_DESCENDING
      )
    );
  }
}
...

模型中集合的定义

/**
 * @var \Doctrine\Common\Collections\Collection<\Central\Domain\Model\Location>
 * @ORM\ManyToMany()
 */
protected $collection;

因此,位置是另一个具有我想要访问的字段“属性”的模型。

现在我尝试从集合中访问第一个 - 或理想情况下 - 特定元素。这可能直接在查询中吗?

0 个答案:

没有答案