【发布时间】:2019-05-06 13:48:56
【问题描述】:
我有一张表 Products(id,category_id,name);
我想得到这样的查询结果:
SELECT * FROM Products WHERE category_id=$category_id OR $category_id=0;
当我为 $category_id 分配 0 值 => 上面的查询将返回所有记录。
如何在 Laravel 中编写该查询?
我试过这个:
Products::where(function($query) use ($category_id){
$query->where("category_id",$category_id)
->orWhere($category_id,0)
})->get();
但是,错误:
看起来像:
SELECT
*
FROM
`products`
WHERE
( `product_category_id` = 0 OR `0` = 0 )
并且打印错误:Column not found: 1054 Unknown column '0' in 'where clause'
如何解决:'0' = 0 到 0 = 0?
谢谢!
【问题讨论】:
-
请确保将您的模型命名为
Product,而不是Products。模型是单一的。
标签: laravel eloquent laravel-query-builder