学说查询反向连接?
Doctrine Query reverse join?
我有这些关系。
我需要检索所有内容,但请先按 star.content_Idcontent
订购。
它很容易工作 SQL:
SELECT content.idcontent
FROM content
LEFT JOIN star ON content.idcontent = star.content_Idcontent
ORDER BY star.content_Idcontent DESC,content.idcontent
但我不知道如何用 Doctrine 做,因为内容不是关系的所有者。
我必须创建双向关系还是有办法让它发挥作用?
您可以在 ContentRepository 中创建查询,例如:
$qb = $this
->createQueryBuilder('content')
->join(
'App\Entity\Star',
'star',
\Doctrine\ORM\Query\Expr\LeftJoin::WITH,
'content.idcontent = star.content_Idcontent '
)
->orderBy('star.content_Idcontent', 'DESC')
;
$qb->getResult();
假设您的实体 Star
位于 App\Entity\Star
我有这些关系。
我需要检索所有内容,但请先按 star.content_Idcontent
订购。
它很容易工作 SQL:
SELECT content.idcontent
FROM content
LEFT JOIN star ON content.idcontent = star.content_Idcontent
ORDER BY star.content_Idcontent DESC,content.idcontent
但我不知道如何用 Doctrine 做,因为内容不是关系的所有者。
我必须创建双向关系还是有办法让它发挥作用?
您可以在 ContentRepository 中创建查询,例如:
$qb = $this
->createQueryBuilder('content')
->join(
'App\Entity\Star',
'star',
\Doctrine\ORM\Query\Expr\LeftJoin::WITH,
'content.idcontent = star.content_Idcontent '
)
->orderBy('star.content_Idcontent', 'DESC')
;
$qb->getResult();
假设您的实体 Star
位于 App\Entity\Star