我对ManyToMany setter和getters没什么问题
Company.php
/**
* @ORM\ManyToMany(targetEntity="User", mappedBy="companies")
*/
protected $employees;
user.php的
/**
* @ORM\ManyToMany(targetEntity="Company", inversedBy="employees")
* @ORM\JoinColumn(name="company_id")
*/
protected $companies;
然后在Controller中我尝试将用户值设置为公司
$company->setEmployees($company->getEmployees($user));
我一直在
"尝试调用名为" setEmployees"的未定义方法。班级 .. \实体\公司&#34 ;.你的意思是打电话,例如" addEmployees"要么 "装getEmployees"
有人可以帮帮我吗?谢谢!
答案 0 :(得分:0)
这是因为您的两个实体之间存在ManyToMany关系。默认情况下,getters& setters将变为setEmployee()
(单数,因为它用于添加单个Employee对象)和addEmployees()
(复数,因为它用于添加Employees数组)。检查一切是否拼写正确并尊重这一原则。
鉴于$user
似乎是一个单一的用户,我会做出以下改变:
$company->setEmployee($company->getEmployees($user));
希望这有帮助。