【问题标题】:Laravel - How to make a scope with an array of Values?Laravel - 如何使用一组值创建范围?
【发布时间】:2016-07-24 17:02:25
【问题描述】:

我有一个带有制造商的数组,现在我想创建一个范围来仅获取仅具有数组值作为制造商的产品的结果。

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

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

【问题讨论】:

    标签: arrays laravel eloquent


    【解决方案1】:

    你应该使用 whereIn:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-14
      • 1970-01-01
      • 2021-10-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多