【发布时间】:2017-11-03 15:31:51
【问题描述】:
我正在使用 Symfony 3.2。我有一个名为Site 的实体,它包含与另一个名为Indication 的实体的OneToMany 关系。
class Site
{
/**
* @ORM\OneToMany(targetEntity="IhkBundle\Entity\Indication", mappedBy="site")
*/
private $indications;
}
class Indication
{
/**
* @ORM\ManyToOne(targetEntity="IhkBundle\Entity\Site", inversedBy="indications")
* @ORM\JoinColumn(name="site_id", referencedColumnName="id")
*/
private $site;
}
我想查询所有sites 可用的Indications。我只得到一个我不知道如何处理的 ArrayCollection。
$sites = $repository->findAll();
foreach ($sites as $site) {
$site->getIndications();
}
我也尝试使用 this answer 中的 queryBuilder。
$query = $repository->createQueryBuilder('s');
$result = $query->where('s.indications IS NOT NULL')
->getQuery()
->getResult();
抛出以下错误:
[Semantical Error] line 0, col 46 near 'indications IS': Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected.
【问题讨论】:
标签: php sql symfony doctrine-orm