繁体   English   中英

如何在 codeigniter 中编写的 if 语句中使用 where 条件

[英]How to use where condition in if statement which is already written in codeigniter

我遇到了$user_id参数是可选的情况,我曾经在 codeigniter 中按照下面写的方式执行此操作。 但我无法弄清楚,如何在 laravel 的 eloquent 和查询生成器中编写此查询。 任何帮助深表感谢。

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();

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

使用 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定义的名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM