У меня есть несколько проектов, которые делают то, что вы только что сказали, сохраняя записи в нескольких таблицах одновременно. Я считаю, что это действительно происходит в приложении в реальном сценарии.
Вот что я делаю, хотя:
public function store(Request $request)
{
$main = $this->saveModel1($request);
$this->saveModel2($request);
return redirect()->route('my.route.name.for.edit', $main->id);
}
private function saveModel1($request)
{
$model1 = new Model1;
$model1->bla = "Model1";
$model1->save();
return $model1->id;
}
private function saveModel2($request)
{
$model2 = new Model2;
$model2->bla = "Model2";
$model2->save();
}
ОБНОВЛЕНИЕ: Этот ответ был выбран как правильный, но я просто хочу добавить, что при таких условиях, это безопасно, чтобы включить ваш запрос сохранения в транзакция.
DB::beginTransaction();
try
{
}
catch (\PDOException $e)
{
}
int[] b = new int[3];
Array.Copy(a, 1, b, 0, 3);
См. этот вопрос . LINQ Take () и Skip () являются наиболее популярными ответами, а также Array.CopyTo ().
Якобы более быстрый метод расширения описан здесь .