控制器

时间:2015-06-26 08:08:09

标签: php symfony

我对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"

有人可以帮帮我吗?谢谢!

1 个答案:

答案 0 :(得分:0)

这是因为您的两个实体之间存在ManyToMany关系。默认情况下,getters& setters将变为setEmployee()(单数,因为它用于添加单个Employee对象)和addEmployees()(复数,因为它用于添加Employees数组)。检查一切是否拼写正确并尊重这一原则。

鉴于$user似乎是一个单一的用户,我会做出以下改变:

$company->setEmployee($company->getEmployees($user));

希望这有帮助。