有一個sql語句想用tp5的構造器構造一下,如下
Select * from tab1 where (a=1 and b=1) or (a=2 and b=2) or (a=3 and b=3).....or(a=N and b=N)
注意:當N等于多少,就有多少個or 連接,or的個數是變量,請問如何用Tp5的鏈式查詢查出結果。困擾了我一天了,求大神解答!
在網上查了個例子$res = Db::table('fd_user')->where('sex','eq','男')->where(function($query){$query->where('name','like','李%')->whereOr('age','eq',18);})->buildSql();
這樣是可以,但是他的whereOr只有一個,我的需求是whereOr是不固定的,可能有一個也可能有兩個,怎么破
1 回答

尚方寶劍之說
TA貢獻1788條經驗 獲得超4個贊
$sqlQuery = DB::table('tab1')->where(['a' => 1, 'b' => 1]);
$n = 10;
for ($i = 2; $i <= $n; $i++) {
$sqlQuery = $sqlQuery->orWhere(function ($query) use ($i) {
$query->where(['a' => $i, 'b' => $i]);
});
}
return $sqlQuery->toSql();
- 1 回答
- 0 關注
- 737 瀏覽
添加回答
舉報
0/150
提交
取消