我正在尝试查找Monthly
表中与Category
有关联的所有结果。
我做了我的研究,以下代码在理论上应该说工作但不知何故抛出以下错误 Notice: Undefined index: joinColumns in...
这些表由连接表连接,使用的密钥为category_id
,monthly_id
尝试使用category_id
运行查询,但仍然无法正常工作并抛出另一个错误。
当我运行orm:validate-schema
时,似乎一切正常。我错过了什么?
来自每月实体
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="Bnk\Entity\Category", inversedBy="monthly")
* @ORM\JoinTable(name="months_categories",
* joinColumns={
* @ORM\JoinColumn(name="monthly_id", referencedColumnName="id")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
* }
* )
*/
private $category;
我缺少什么,以便找到与给定Monthly
相关联的所有Category
?
$months = $this->getEntityManager()
->getRepository('Bnk\Entity\Monthly')
->findBy(
array(
"category"=>$category->getId()
)
);
答案 0 :(得分:0)
你有没有忘记初始化你的ArrayCollection? 在您的实体构造函数中,您始终必须初始化它们。
所以在课堂上排名靠前:
use Doctrine\Common\Collections\ArrayCollection;
和你的构造函数:
public function __construct()
{
$this->category= new ArrayCollection();
}