如何在 Laravel 查询生成器上最小化 "where()"。如果所有 table 列都是相同的值
How to minimize "where()" on Laravel query builder. If all table columns are all the same values
有没有办法尽量减少对 laravel 查询生成器调用 ->where()?
样本Table:
name
item1
item2
item 3
David
0
0
0
David
1
1
2
David
1
2
2
我想删除所有 table 列都包含 0 值的特定记录,而不删除其他记录。
我的查询是这样的。
DB::table('users')->where('name', 'David')
->where('item1', 0)
->where('item2', 0)
->where('item3', 0)
->delete();
有没有办法尽量减少调用->where()?就像在 whereIn('columns',[1,2,3,4]) 中一样,但在列中。
将条件数组传递给 where 函数。数组的每个元素都应该是包含通常传递给 where 方法的三个参数的数组:
$conditions=[
['name','=', 'David'],
['item1','=',0],
['item2','=', 0],
['item3','=', 0],
]
DB::table('users')->where($conditions)->delete();
有没有办法尽量减少对 laravel 查询生成器调用 ->where()?
样本Table:
name | item1 | item2 | item 3 |
---|---|---|---|
David | 0 | 0 | 0 |
David | 1 | 1 | 2 |
David | 1 | 2 | 2 |
我想删除所有 table 列都包含 0 值的特定记录,而不删除其他记录。
我的查询是这样的。
DB::table('users')->where('name', 'David')
->where('item1', 0)
->where('item2', 0)
->where('item3', 0)
->delete();
有没有办法尽量减少调用->where()?就像在 whereIn('columns',[1,2,3,4]) 中一样,但在列中。
将条件数组传递给 where 函数。数组的每个元素都应该是包含通常传递给 where 方法的三个参数的数组:
$conditions=[
['name','=', 'David'],
['item1','=',0],
['item2','=', 0],
['item3','=', 0],
]
DB::table('users')->where($conditions)->delete();