0
У меня есть 3 моделиLaravel сохранить вложенную модель hasManyThrough
Event has many Shifts
Shift belongs to Event
Shift has many ShiftWorkers
ShiftWorker belongs to Shift
, когда я получаю, чтобы сохранить все модели сразу через HTML формы с помощью этого метода хранения в контроллере:
public function store(EventsForm $request)
{
//dd($request->all());
// save event
$event = Auth::user()->events()->create($request->all());
$total_shifts = count($request->shift_start);
$shifts = [];
for ($s = 0; $s <= $total_shifts-1; $s++) {
array_push($shifts, new Shift(['shift_start' => $request->shift_start[$s], 'shift_end' => $request->shift_end[$s]]));
}
// save shifts
$event->shifts()->saveMany($shifts);
$workers = [];
for ($w = 0; $w <= $total_shifts-1; $w++) {
array_push($workers, new ShiftWorker(['quantity' => $request->quantity[$w], 'hour_wage' => $request->hour_wage[$w]]));
}
// save workers
$event->shifts()->shift_workers()->saveMany($workers);
я получаю эту ошибку
Звонок на неопределенный метод Illuminate \ Database \ Query \ Builder :: shift_workers()
Как я могу сохранить свою третью модель (ShiftWorker)?
Я вижу, теперь я знаю, что моя проблема, но теперь это еще труднее решить эту проблему .... я не то же самое количество сменщиков в каждой смене .... как я могу сэкономить сменщика на его смену .... какой цикл использовать? например, если первая смена имеет один сменщик, а вторая смена имеет 2 .... – lewis4u
Это другой вопрос, я полагаю. Вы должны определить своих сменщиков внутри цикла. Пожалуйста, отметьте правильный ответ выше. – schellingerht