2016-07-24 48 views
0

我有一个制造商的阵列,现在我想做一个范围,以获得只有作为制造商阵列的价值的产品的结果。Laravel - 如何用一系列值创建一个范围?

这是我的实际范围,但它不起作用。

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

您应该使用其中

public function scopeManufacturer($query, array $manufacturer) 
{ 
    return $query->whereIn('category', $manufacturer); 
} 

第一个参数是你在搜索栏的名称;第二个参数是您尝试匹配的值的数组。