选择一个Doctrine 2实体

时间:2018-03-13 08:50:11

标签: php doctrine-orm

好的,假设我有两种类型的实体:图库和模型。 Gallery类有许多名为" models"指向Model类,Model类具有"画廊"指向画廊的字段。

我需要的是选择结果,这将是一个包含模型实体的数组,它们按照它们在画廊中出现的顺序。

例如,如果有2个不同的Galleries指向同一个模型,则在结果数组中我需要两次相应的Model实体。

这样的事情:

$em->createQueryBuilder()
    ->select('g.models')
    ->from('\Gallery g')
    ->join(g.model m)
    ->orderBy(g.date)); //This does not works.

或者:

$em->createQueryBuilder()
    ->select('m')
    ->from('\Gallery g')
    ->join(g.models m)
    ->orderBy(g.date)); //This does not works too.

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

$dql = 'SELECT g, m FROM Gallery g JOIN g.models m ORDER BY g.date ASC'


$galleries = $entityManager->createQuery($dql)
                           ->getResult();

不要忘记你的实体的正确FQCN,因为上面看起来你在命名实体时会犯错误,一旦使用'模型',其他时间单一形式 - ' model& #39;