我需要比较表中的两列,但如果其中一列为null,则查询返回空。
id | 名称 | original_price销售价格 | [/tr>|
---|---|---|---|
1 | 洗发水 | 2.30 | 空 |
如果您希望这样的查询也返回Null值,则应使用orWhereNull
$this->products = Product::whereColumn('original_price', '!=', 'sale_price')
->orWhereNull("original_price")
->orWhereNull("sale_price")
->get()
BTW:如果两者都为Null,则字段相等,但查询不会为空
只需在两列上添加where NotNull,如果其中一列为null,则查询条件不匹配,并且不返回任何记录
$this->products = Product::whereColumn('original_price', '!=', 'sale_price')
->whereNotNull("original_price")
->whereNotNull("sale_price")
->get()