как сделать грамотно сохранение двух связанных таблиц ? Laravel
loads (id, name, weight) и points (id, name, date, load_id)
связал многие ко многим
получается когда создается одна строка в loads должно создастся 2 строки в points привязанных к loads.
к примеру в loads (id, name, weight)
1 Горох 10
//первая строка дата отправки и откуда
//вторая дата доставки и куда
в points (id, name, date, load_id)
1 Москва 20.10.2021 1
2 Питер 25.10.2021 1
//
А при добавлении этого заказа все делается в одном окне
<form>
<div class="form-row mb-3">
<div class="col">
<label for="formGroupDateFrom">Дата отправки</label>
<input type="date" name="dates[]" class="form-control" id="formGroupDateFrom">
</div>
<div class="col">
<label for="formGroupDateTo">Дата доставки</label>
<input type="date" name="dates[]" class="form-control" id="formGroupDateTo">
</div>
</div>
<div class="form-group">
<label for="formGroupFrom">откуда</label>
<input type="text" name="points[]" class="form-control" id="formGroupFrom" placeholder="Москва">
</div>
<div class="form-group">
<label for="formGroupTo">Куда</label>
<input type="text" name="points[]" class="form-control" id="formGroupTo" placeholder="Питер">
</div>
<div class="form-group">
<label for="formGroupNameLoad">Название груза</label>
<input type="text" name="name" class="form-control" id="formGroupNameLoad" placeholder="Кукуруза">
</div>
<div class="form-group">
<label for="formGroupWeight">Вес (т)</label>
<input type="number" name="weight" min="1" class="form-control" id="formGroupWeight" placeholder="5">
</div>
<button type="button" class="btn btn-primary">сохранить</button>
</form>
class LoadController extends Controller
{
public function store(LoadStoreRequest $request)
{
//здесь сохранятся name и Weight
$createdLoad = Load::create($request->validated());
//что вызывать отдельно так :?
$point = new Point();
$count = 0;
foreach($request->dates){
$point->load_id = $createdLoad->id;
$point->name = $request->input('points')[$count];
$point->date = $request->input('dates')[$count];
$point->save();
$count++;
}
return new LoadResource($createdLoad);
}
}
//на странице же не может быть одинаковых имен
потому что в таблице есть loads name и в points name
в форме я заменил date на масcив dates[] и имя отправки и доставки вместо name = points[]
А как теперь их сохранить по умоляанию сохраниться в таблице "loads" name и weight
А как теперь сохранить еще две строки в таблицу points ?
Спасибо!