如何在已经在代码点火器中编写的 if 语句中使用 where 条件



我遇到过$user_id参数是可选的情况,我曾经在代码点火器中以下面写的方式执行此操作。但是我无法弄清楚,我如何在 laravel 的雄辩和查询构建器中编写此查询。任何帮助都非常感谢。

function get_user($user_id) { 
$this->db->select('u.id as user_id, u.name, u.email, u.mobile');
if($user_id != '') {
$this->db->where('user_id', $user_id);
}
return $this->db->get('users as u')->result();
}

谢谢

使用 Eloquent:

$modalObject = new ModelName::select('id as user_id', 'name', 'email', 'mobile');
if ($user_id) {
$modalObject = $modalObject->where('user_id', $user_id);
}
return $modalObject->get();

使用查询生成器:

$builder = DB::table('users')->select('id as user_id', 'name', 'email', 'mobile');
if ($user_id) {
$builder = $builder->where('user_id', $user_id);
}
return $builder->get();

ModelName替换为为表users定义的。

你可以做同样的事情:

$builder = Model::query();
if($user_id != '') {
$builder->where('user_id', $user_id);
}
return $builder->get();

https://laravel.com/docs/7.x/queries

相关内容

  • 没有找到相关文章

最新更新