主页

TP的where查询语句加括号

花火夏日祭   IP属地: 青海
0 点赞 0阅读 2029

每个闭包条件两边会自动加上括号

实现代码

// tb_article
$query = ArticleModel::newQuery();

$query->where(function ($qr) {
    $qr->where('name', '=', 'Tom')
        ->where('age', '<', 30);
});

// use 使用外层作用域变量
$name = 'Jack';
$query->whereOr(function ($qr) use ($name) {
    $qr->where('name', '=', $name)
        ->where('age', '>', 23);
});

$query->buildSql();

输出语句

SELECT * FROM `tb_article` 
WHERE ( `name` = 'Tom' AND `age` < '30' ) 
OR ( `name` = 'Jack' AND `age` > '23' )


     /* 订单详情 function
     *
     * @Author XiaoLiu wen@zmmz.com
     * @DateTime 2021-05-27 17:38:04 
     * @param [type] $id 任务ID
     * @return void
     */
    public function user_order_detail($id)
    {
        $where['user_id'] = $this->userId;
        $where['order_id'] = $this->userId;
        $arr = model::whereOr(function($query) use ($where){
            $query->whereOr($where);
        })->where(['id'=>$id])->with('user,specify')->buildSql();
        if ($arr) {
            $this->success('', $arr);
        }
        $this->error('数据不存在!');
    }

© 著作权归作者所有,转载或内容合作请联系作者