如何根据参数动态设置查询语句?

如何根据参数动态设置查询语句?

如以下查询语句,有时候前端传过来的status是没有值,这个时候应该查询所有,也就是要把status判断语句去除。这块如何做?

->select('id, login_name, real_name, mobile, balance, gender, status, create_time')

->where('status', $status)

->where('login_name LIKE ?', '%'+$login_name+'%')
->where('real_name LIKE ?', '%'+$real_name+'%')
->where('balance < ?', $balance)
->order('create_time DESC')
->limit(($pageNo - 1) * $pageSize, $pageSize)
->fetchAll();
已邀请:

dogstar - PhalApi创始人

赞同来自: 飞扬

where还可以传入一个数组的。例如:
$condition = array(
'login_name LIKE ?' => '%'+$login_name+'%',
'real_name LIKE ?' => '%'+$real_name+'%',
'balance < ?' => $balance,
);

if (!empty($status)) {
$condition['status'] = $status;
}

// ... ...
->where($condition)
即可动态传入一个数组,也是可以的。


具体where的用法可参考这里:https://www.phalapi.net/wikis/1-20.html

飞扬 - 技术男

赞同来自:

if
esle
还有其它方法吗?

要回复问题请先登录注册