我遇到过$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