首页 > 解决方案 > 如何在没有关系的情况下加入基地?

问题描述

我有一个用户表和一个公司表。

表 Company 有一个字段 user_id,但表 User 与 company 没有关系。

如果用户有一个字段 company_id,我会做这个请求:

$queryBuilder
            ->select('u')
            ->join('u.company', 'c')
            ->where('c.name LIKE :name')
        ;

但因为它没有,我不知道我怎么能在 Doctrine 中做到这一点。我已经以相反的方式完成了这个请求,我可以在我的公司存储库中加入表用户。

标签: sqldoctrine-ormdql

解决方案


您的查询必须与此类似:

select *
from user u
  join company c
    on u.userId=c.userId

关系是 1 到 n (“1”公司可以有“n” - 许多用户,所以用户(userId)的主键被添加到公司表中),所以关系确实存在。


推荐阅读