laravel - Laravel 查询未获取所有值(无法获取空值)
问题描述
我有一个名为tb_user
多个字段的表,其中 1 个是id_company
.
显示用户列表时,管理员可以设置是否要查看所有用户或已选中的特定用户id_company
。
在查询中,我动态设置它,这样当管理员将其设置为全部或不设置时,查询仍然可以工作。这是我的查询:
if ($id_company == 'all') {
$idSign = '!=';
} else {
$idSign = '=';
}
->where('tb_user.id_company', $idSign, $id_company);
现在的问题是当管理员选择所有用户时,查询没有返回所有结果。当 id_company 为 null 时,此查询不返回该值。我应该怎么做才能使这个查询在全部设置时可以返回 id_company 既为空又不为空的值?
解决方案
如果用户选择全部,那么您根本不需要放在哪里。
为此,请在多个步骤中打破您的查询:
$query = YourModel::query();
if ($id_company !== 'all') {
$query->where('tb_user.id_company', $id_company);
}
$result = $query->get(); // or paginate if you want.
推荐阅读
- c - RSA OAEP 实现编译问题
- acumatica - 在 acumatica 中,如何在“收入”选项卡中显示“成本”选项卡中的更改?
- reactjs - 如何显示“未找到任何项目”React.js
- fbx - Assimp FBX 加载器和 PBR 纹理
- vulkan - 使用 Vulkan 渲染小文本?
- python-3.x - 如何在类中设置一次变量
- python - django-import-export:导入多对多字段
- python - 从迷你数据框中获取数据创建数据框的最简单方法是什么?
- angular - mat-divider 没有出现在 mat-toolbar-row 之间
- pytorch - 关于pytorch占用GPU内存