我有一个制造商的阵列,现在我想制作一个范围,只得到只有数组值作为制造商的产品的结果。
这是我的实际范围,但它不起作用。
public function scopeManufacturer($query, array $manufacturer)
{
return $query->where(function($query) use ($manufacturer) {
$str = '';
foreach($manufacturer as $man){
$str .= "->where('category', " . $man ;
}
return $query . $str;
});
}
答案 0 :(得分:0)
您应该使用 whereIn :
public function scopeManufacturer($query, array $manufacturer)
{
return $query->whereIn('category', $manufacturer);
}
第一个参数是您要搜索的列的名称;第二个参数是您尝试匹配的值数组。