laravel 中的 WhereColumn 为空
WhereColumn null in laravel
我需要比较 table 中的两列,但如果至少有一个为空,则查询 return 为空。
id
名字
original_price
sale_price
1
洗发水
2.30
空
$this->products = Product::whereColumn('original_price', '!=', 'sale_price')->get();
只需在两列上添加 whereNotNull,如果其中一列为 null 则查询 where 条件将不匹配并且 return 没有记录
$this->products = Product::whereColumn('original_price', '!=', 'sale_price')
->whereNotNull("original_price")
->whereNotNull("sale_price")
->get()
如果您想要这样的查询 returns 也需要 Null 值,您应该使用 orWhereNull
$this->products = Product::whereColumn('original_price', '!=', 'sale_price')
->orWhereNull("original_price")
->orWhereNull("sale_price")
->get()
顺便说一句:如果两者都为 Null,则字段相等但查询不会为空
我需要比较 table 中的两列,但如果至少有一个为空,则查询 return 为空。
id | 名字 | original_price | sale_price |
---|---|---|---|
1 | 洗发水 | 2.30 | 空 |
$this->products = Product::whereColumn('original_price', '!=', 'sale_price')->get();
只需在两列上添加 whereNotNull,如果其中一列为 null 则查询 where 条件将不匹配并且 return 没有记录
$this->products = Product::whereColumn('original_price', '!=', 'sale_price')
->whereNotNull("original_price")
->whereNotNull("sale_price")
->get()
如果您想要这样的查询 returns 也需要 Null 值,您应该使用 orWhereNull
$this->products = Product::whereColumn('original_price', '!=', 'sale_price')
->orWhereNull("original_price")
->orWhereNull("sale_price")
->get()
顺便说一句:如果两者都为 Null,则字段相等但查询不会为空