Laravel查询没有获得所有值(无法获得空值)

我有一个名为tb_user的表,其中包含多个字段,其中一个是id_company
显示用户列表时,管理员可以设置是否要查看所有用户或选择了id_company的特定用户。

在查询中,我动态地设置了它,以便当管理员将其设置为全部或全部时,查询仍然可以工作。这是我的查询:

if ($id_company == 'all') {
    $idSign = '!=';
} else {
    $idSign = '=';
}
->where('tb_user.id_company',$idSign,$id_company);

现在的问题是,当管理员选择所有用户时,查询未返回所有结果。 当id_company为null时,此查询不返回值。 我应该怎么做才能使查询全部设置后返回id_company既为null也不为null的值?

zcmbcb 回答:Laravel查询没有获得所有值(无法获得空值)

如果用户全选了,那么您根本就不需要放位置。

为此,请分多个步骤中断查询:

filter_var($string,FILTER_UNSAFE_RAW,FILTER_FLAG_STRIP_LOW|FILTER_FLAG_STRIP_HIGH);
,

首先,您的命名非常不常规。如果id_company是公司表的外键,则应将其命名为company_id。 ID主要是整数,因此all的值不是很简单。我建议不要完全将其设置为不将过滤器值设置为all。 这样,您就可以拥有

$users = TBUser::query();
if (!empty($id_company)) {
    $users->where('id_company',$id_company);
}
return $users->get();
本文链接:https://www.f2er.com/3094817.html

大家都在问