Запись отношений «многие ко многим» Laravel 8

#laravel #eloquent #relationship #laravel-8

Вопрос:

У меня есть эти 2 таблицы, которые связаны со многими Mutos, и сводная таблица между ними, я обычно записываю таким образом, но я не знаю, как установить взаимосвязь между значениями.

Каждый банк регистрирует 7 записей, которые проводятся 7 дней в неделю, и каждый день имеет свои часы открытия и закрытия.

Как мне сделать эти отношения автоматическими?

 public function createShop()
    {
        $schedules = [
            ['start' => now(),'end' => now()],
            ['start' => now(),'end' => now()],
            ['start' => now(),'end' => now()],
            ['start' => now(),'end' => now()],
            ['start' => now(),'end' => now()],
            ['start' => now(),'end' => now()],
            ['start' => now(),'end' => now()],
        ];

        $daysweeks = [
            ['name' => 'Segunda-Feira'],
            ['name' => 'Terça-Feira'],
            ['name' => 'Quarta-Feira'],
            ['name' => 'Quinta-Feira'],
            ['name' => 'Sexta-Feira'],
            ['name' => 'Sábado'],
            ['name' => 'Domingo'],
        ];

        $schedule = Schedules::insert($schedules);
        $daysweek = DaysWeek::insert($daysweeks);

        $daysweek->schedule()->sync($schedule);

    }
 

Печать

Комментарии:

1. Определите автоматически.

Ответ №1:

Таков был мой код для рассматриваемой проблемы

 foreach ($daysweeks as $daysweek) {

            $getShopDaySchedule = ShopDaySchedule::create([
                'shop_id' => $selectShop->id,
                'enable' => 0
            ]);

            $getDay = $getShopDaySchedule->daysWeeks()->create($daysweek);

            $getDay->allSchedules()->create($schedules);

        }