Doctrine多对多+连接表请求失败

时间:2016-04-04 09:20:37

标签: php mysql symfony doctrine-orm

我有一个server实体与此字段有ManyToMany关系+ joinColumns选项

/**
 * @var User[]|ArrayCollection
 *
 * @ORM\ManyToMany(targetEntity="AppBundle\Entity\User", inversedBy="servers")
 * @ORM\JoinTable(name="server_owner",
 *   joinColumns={@ORM\JoinColumn(referencedColumnName="id")},
 *   inverseJoinColumns={@ORM\JoinColumn(name="owner_id", referencedColumnName="id")}
 * )
 */
private $owners;

我想通过server找到owner,所以在我的控制器中我提出了这个请求

$user = $this->getUser()->getId();
$servers = $this->getDoctrine()->getRepository('AppBundle:Server')->findBy([
    'owners' => $user,
]);

但在执行期间我收到此错误

  

"执行' SELECT t0.id AS id_1,#all other fields#FROM server t0 WHERE server_owner.owner_id =?' with params [1]:\ n \ nSQLSTATE [42S22]:未找到列:1054未知列' server_owner.owner_id'在' where子句'"

此请求应该有效,对吗?

我不明白为什么这个找不到server_owner.owner_id列。

这是我的学说请求的问题吗? 我做错了什么/可以修改?

0 个答案:

没有答案