php - Symfony - 返回不相关的行
问题描述
我必须相关表:
一设备二用户
它们通过设备表中的 user_id 键连接。
我需要返回未添加到设备表中的用户表的所有结果。
因此,如果我在 users 表中有四个用户,在 device 表中有两个设备,第一个连接到 user_1,第二个连接到 user_2,结果将返回其他两个用户。
我认为可以用 leftJoin() 来完成,但我得到的是空数组结果。
代码:
public function getUsersWithNoDevices()
{
return $this->getDeviceRepository()
->createQueryBuilder('d')
->select('d', 'u')
->from(User::class, 'u')
->where('d.user IS NULL')
->setMaxResults(1)
->getQuery()
->getResult();
}
也许问题是因为我需要返回设备表中不存在的结果,所以我没有条件?
有什么建议么?
解决方案
public function getUsersWithNoDevices()
{
$qb = $this->entityManager->createQueryBuilder();
$qb
->select('d', 'u')
->from('user', 'u')
->leftJoin('u.device', 'd')
->where('d.user IS NULL');
return $qb->getQuery()->getResult();
}
推荐阅读
- xml - spring boot XML 正在填充额外的标签
- python - 了解python程序
- node.js - NodeJS 使用 Socket.IO 对 POST 的响应
- android - 使用协程通道轮询请求
- css - 如何在 Flexbox 容器中的元素之间创建边框?
- linux-kernel - PTE 标志在哪里定义(Linux)?
- javascript - Discord JS:通过机器人创建频道时如何发送消息
- react-native - React Native WebView goBack 丢失参数 - Android
- html - 单击后更改A中的颜色
- c - c语言,全局符号,局部符号说明