Laravel - 如何使用值数组创建范围?

时间:2016-07-24 17:02:26

标签: arrays laravel eloquent

我有一个制造商的阵列,现在我想制作一个范围,只得到只有数组值作为制造商的产品的结果。

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

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;
    });
}

1 个答案:

答案 0 :(得分:0)

您应该使用 whereIn

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

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