Symfony 从 OneToMany 获取条件

Symfony get with criteria from OneToMany

有没有办法在控制器中使用条件从多边获取项目?

    /**
 * One Content has Many Files.
 * @ORM\OneToMany(targetEntity="IntersaxoniaBackendBundle\Entity\Content", mappedBy="sidContents", cascade={"persist", "remove"}, orphanRemoval=true)
 * @ORM\JoinColumn(nullable=true)
 */
private $contents;

无法从许多内容中获取访问权限:

$side = $em->getRepository('XYBundle:Side')->findBy(
            array('dsid' => $dsid)
        );

类似于:

$side = $em->getRepository('XYBundle:Side')->getContents()->findBy(
            array('dsid' => $dsid)
        );

我不明白你到底想达到什么目的。什么是$dsid,其中class你有private $contents。但看起来您需要获取对象为 class content 且 ID 为 $dsid 的站点。

我认为这样是不行的。您可以使用 findBy() 方法仅通过拥有侧关联来加载。所以这个扫描是一个解决方案:

$content = $em->getRepository('XYBundle:Content')->findBy(
    array('side' => $site->getId())
);
$side = $content->getSide();