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();
有没有办法在控制器中使用条件从多边获取项目?
/**
* 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();