Это своего рода сложный вопрос. Я пытаюсь объяснить это как можно лучше. У меня есть поездка, и я хочу, чтобы пользователи нажимали кнопку копирования в этой поездке, которая просто повторит эту поездку, чтобы пользователи не могли снова заполнить огромную форму.Реплицировать таблицу на 3 другие таблицы при обновлении столбца trip_id - Laravel 5.3
Форма поездки сохраняет до 4 моделей (таблиц).
Это как Im делает тиражирование прямо сейчас:
public function replicateTrip (Request $request, $slug, $id) {
$listing = $request->user()->listings()->where('slug', $slug)->first();
$trip = $listing->trips()->where('id', $id)->first();
$replicateTrip = Trip::find($trip->id);
$replicatebringToTrip = BringToTrip::where('trip_id', $id)->first();
$replicateIncludedInPriceForTrip = IncludedPriceTrip::where('trip_id', $id)->first();
$replicateNotIncludedInPriceForTrip = NotIncludedPriceTrip::where('trip_id', $id)->first();
$newTask = $replicateTrip->replicate();
$newTask2 = $replicatebringToTrip->replicate();
$newTask3 = $replicateIncludedInPriceForTrip->replicate();
$newTask4 = $replicateNotIncludedInPriceForTrip->replicate();
$newTask->save();
$newTask2->save();
$newTask3->save();
$newTask4->save();
return redirect()->back();
}
Так вот как реплицируемая поездка выглядит на главной поездок таблице:
Тогда я получил 3 других различные таблицы (таблицы), которые он сохраняет данные из этого идентификатора поездки.
Так, например, вот моя другая таблица, данные реплицируются:
Как вы можете видеть, данные реплицируются успешно, НО, колонка «trip_id», который в этом случае составляет 1259, по-прежнему совпадает с первоначальной поездкой, которую я воспроизвел. Мне нужно получить новый реплицированный trip_id и вставить его в другие 3 модели, которые у меня есть. Так что в этом случае вторая строка будет 1262 НЕ 1259.
Тоо, умный человек, спасибо Су много! – David