Ответы пользователя по тегу MySQL
  • Laravel - как вывести данные из одной таблицы на основе второй?

    @AlexRudkowskij
    Студент
    Пример:
    https://gist.github.com/AlexeyRudkovskiy/9fb4fcfd3...
    В начале каждого файла в комментарии указан путь где он находится.

    Далее пишете так:
    $product = App\Product::find(1); // Поулчаем запись с id = 1
    foreach ($product->categories as $category) {
        // Делаете что хотите с категориями этого товара
    }


    Тоже самое можно сделать и с категориями:
    $category = App\Category::find(1); // Поулчаем запись с id = 1
    foreach ($category->products as $product) {
        // Продукты в категории
    }


    Добавляем запись в категорию:
    $product = ...;
    $category = App\Category::find(1); // Для примера будем использовать категорию с id = 1
    $category->products()->attach($product->id);


    Или добавляем несколько записей за раз:
    $category = App\Category::find(1); // Для примера будем использовать категорию с id = 1
    $category->products()->attach([1, 2, 3]); // Добавляем товары с id = 1, 2, 3 в категорию с id = 1


    Удаляем продукты из категории:
    $category = App\Category::find(1); // Для примера будем использовать категорию с id = 1
    $category->products()->detach(1); // Удаляем продукт с id = 1 из категории с id = 1. Так же можно передать массив для удаления сразу нескольких продуктов из категории


    Всё описанное выше работает в обе стороны, т.е. можно таким же образом продукту добавлять и удалять категории(аналогично каждому из примеру, см. первый и второй пример)
    Ответ написан
    1 комментарий