Как правильно объединить производителей и категории

304
10 декабря 2016, 11:11

Здравствуйте. У меня такая структура бд.

categories  |  products  |  brands
name           name         name
slug           slug         slug
               category_id  
               brand_id

Я хочу сделать фильтер по производителям (обычный фильтер как в любом интернет магазине). Но, так как производители не относятся к категориям, приходится делать так: беру массив товаров, которые находятся в категории (к примеру) холодильники, а потом делую так

/**
 * Получаем производителей
 *
 * @param array $ids
 * @return mixed
 */
public function brands($ids = [])
{
    return Brand::whereHas('products', function($q) use($ids)
    {
        $q->whereIn('id', $ids);
    }
    )->get();
}

Это все работает, пока я не перейду по какому нибудь фильтру. Вопрос собственно в том, как по другому вывести производителей в категорию? На английском стаке мне посоветовали отнести производителей к категории. Но тут возникает другая проблема. Придется каждый раз выбирать, к какой категории относится производитель. Есть ли какое нибудь универсальное решение?

READ ALSO
Статик или обьект- как правильнее?

Статик или обьект- как правильнее?

Вот задался таким вопросом, где и как лучше использовать статик методы?Читал про них, но так и не понял где лучше использовать их, в каких ситуациях

364
PHP для Android

PHP для Android

Всем привет! Я хотел попробовать собрать php56 под андроид

311
Верхний отступ в HTML [закрыто]

Верхний отступ в HTML [закрыто]

не могу понять откда тут верхний отступПодскажите пожалуйста

292
Angular 2 unused Class

Angular 2 unused Class

Разбираю примеры на сайте документации https://angulario/docs/ts/latest/guide/user-input

281