我有一个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
列。
这是我的学说请求的问题吗? 我做错了什么/可以修改?