sql - 如何在没有关系的情况下加入基地?
问题描述
我有一个用户表和一个公司表。
表 Company 有一个字段 user_id,但表 User 与 company 没有关系。
如果用户有一个字段 company_id,我会做这个请求:
$queryBuilder
->select('u')
->join('u.company', 'c')
->where('c.name LIKE :name')
;
但因为它没有,我不知道我怎么能在 Doctrine 中做到这一点。我已经以相反的方式完成了这个请求,我可以在我的公司存储库中加入表用户。
解决方案
您的查询必须与此类似:
select *
from user u
join company c
on u.userId=c.userId
关系是 1 到 n (“1”公司可以有“n” - 许多用户,所以用户(userId)的主键被添加到公司表中),所以关系确实存在。
推荐阅读
- php - OctoberCMS Session 无法推送
- c# - Xamarin 表单 - 自定义 JSON 的可观察集合
- r - 按属性将数据分组
- javascript - google placecomplete 插件不再允许选择地址
- node.js - 为什么控制台在 http.createServer 函数上记录两次但不是 res?
- sql - 如何加入 2 个以上的表以获得联合结果?
- java - 下面嵌套for循环的解释
- pyspark - 如何根据字典中定义的组合创建特定列的唯一 ID
- oracle - 为什么oracle数据库中数据类型编号的范围是38?
- c - 从 C 中引用不带前导下划线的外部符号