Такер-Эрик / EloquentFilter Laravel - PullRequest
0 голосов
/ 07 ноября 2019

Добрый день! В настоящее время я использую пакет laravel Tucker-Eric/EloquentFilter. Я хочу знать, каков ваш подход к фильтрации брендов товара. У меня есть таблицы Brand и Items. И Item принадлежит Brand, а Item - это тот, который использует Eloquent Filter. В моем веб-интерфейсе у меня есть сценарий, в котором, если я введу имя элемента, будут отображены все элементы. Также, если я введу название бренда, будут отображены все товары с этим брендом. Заранее спасибо. Кстати, вот мой код ItemFilter

public function name($name)
{
    return $this->whereLike('name', $name);
}

public function brand($brands)
{
    return $this->whereIn('brand_id', $brands);
}

public function category($categories)
{
    return $this->whereIn('category_id', $categories);
}

public function type($type)
{
    return $this->whereIn('type_id', $type);
}

public function max($price)
{
    return $this->where('srp', '<=', $price);
}
public function min($price)
{
    return $this->where('srp', '>=', $price);
}

}

1 Ответ

1 голос
/ 07 ноября 2019

Попробуйте это.

Измените ваш запрос на brand function.

public function brand($brands)
{
    return $this->whereHas('brand', function ($query) use ($brands) {
                        $query->whereIn('id', $brands);
                    });
}

item модель belongsTo отношение должно быть brand.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...