Php 如何在已经在codeigniter中编写的if语句中使用where条件
我遇到了一个情况,Php 如何在已经在codeigniter中编写的if语句中使用where条件,php,sql,laravel,codeigniter,Php,Sql,Laravel,Codeigniter,我遇到了一个情况,$user\u id参数是可选的,我用下面写的方式在codeigniter中这样做。但我无法理解,我如何才能在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-&g
$user\u id
参数是可选的,我用下面写的方式在codeigniter中这样做。但我无法理解,我如何才能在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();
}
谢谢您也可以这样做:
$builder = Model::query();
if($user_id != '') {
$builder->where('user_id', $user_id);
}
return $builder->get();
您可以做同样的事情:
$builder = Model::query();
if($user_id != '') {
$builder->where('user_id', $user_id);
}
return $builder->get();
使用雄辩的:
$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
替换为为表用户定义的使用雄辩的:
$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
定义的名称