文檔: https://www.kancloud.cn/manual/thinkphp6_0/1037566 每個 閉包
條件兩邊會自動加上括号
實作代碼
// 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' )