Php 如何在查询中使用ID列表
我有一个按ID筛选用户以显示给管理员的查询,现在我想扩展此查询以容纳更多ID,如2、3、4、5和6,那么如何在列表中排列它呢Php 如何在查询中使用ID列表,php,sql,laravel,Php,Sql,Laravel,我有一个按ID筛选用户以显示给管理员的查询,现在我想扩展此查询以容纳更多ID,如2、3、4、5和6,那么如何在列表中排列它呢 public function vipusers() { $data['title'] = 'Vip Users'; $is_super = !auth()->guard('admin')->user()->is_super; $data['users'] = Users::when($is_super, function ($
public function vipusers()
{
$data['title'] = 'Vip Users';
$is_super = !auth()->guard('admin')->user()->is_super;
$data['users'] = Users::when($is_super, function ($q) {
$q->where('id', '!=', 1);
})
->orderBy('id', 'DESC')->get();
return view('admin.dashboard.manage', $data);
}
您可以使用
,其中
:$ids=[2,3,4,5,6];
$users=users::其中('id',$id)->orderBy('id','DESC')->get();
...
扩展@Bazaim的答案
考虑使用一个函数通过将id从表传递给函数来迭代所有用户。考虑使用下面的片段。< /P>
public function vipusers($id)
{
$data['title'] = 'Vip Users';
$is_super = !auth()->guard('admin')->user()->is_super;
$data['users'] = Users::when($is_super, function ($q) {
$q->where('id', '!=', $id);
})->orderBy('id', 'DESC')->get();
return view('admin.dashboard.manage', $data);
}
这解决了我试图实现的目标
public function vipusers()
{
$data['title'] = 'Vip Users';
$is_super = !auth()->guard('admin')->user()->is_super;
$data['users'] = Users::when($is_super, function ($q) {
$q->where('id', '!=', 1)
->where('id', '!=', 2)
->where('id', '!=', 3);
})
->orderBy('id', 'DESC')->get();
return view('admin.dashboard.manage', $data);
}