我的网站上有过滤器。我在模型中有一个功能,可以搜索过滤器并获取具有必要过滤器的产品。如果我选择2个相同类别的过滤器,则无法正常工作。
public function attribute()
{
return $this->hasMany('App\Models\ProductAttribute');
}
public function scopeAttrSearch($query, $ids)
{
foreach ($ids as $id) {
$query->whereHas('attribute', function ($q) use ($id) {
$q->where('attribute_value_id', $id);
});
}
return $query;
}
我需要通过whereIn
来搜索相同类别的多个过滤器。
但是,如果类别不相同,则需要在请求中传递where
。我该怎么做?
表过滤器中的列类别:attribute_id
。
在变量ids
中,我发送了ID值过滤器。
过滤器类别无法正常工作。如果具有复选框列表,则按标准过滤选定商品的时间。但如果我从同一类别中选择checkboses,过滤器通常不会过滤,似乎是有条件的“ where”无法正常工作