@forest
В Laravel есть несколько способов автоматического присвоения id
в связанных таблицах:
1 2 3 4 5 6 7 8 9 |
$parent = Parent::create([ 'field1' => 'value1', 'field2' => 'value2', ]); $child = $parent->children()->create([ 'field1' => 'value1', 'field2' => 'value2', ]); |
1 2 3 4 5 6 7 8 9 10 |
$parent = new Parent; $parent->field1 = 'value1'; $parent->field2 = 'value2'; $parent->save(); $child = new Child; $child->field1 = 'value1'; $child->field2 = 'value2'; $child->parent_id = $parent->id; $child->save(); |
В обоих случаях id
будет автоматически присвоен, после сохранения модели в базу данных. В Laravel используется автоинкрементный ключ по умолчанию, так что вам не нужно вручную устанавливать id
для новых записей.
@forest
Если таблицы связаны отношением один-к-одному с использованием внешнего ключа, то можно использовать метод associate:
1 2 3 4 5 6 7
$parent = new Parent; $parent->field1 = 'value1'; $parent->field2 = 'value2'; $parent->save();
$child = new Child; $child->field1 = 'value1'; $child->field2 = 'value2'; $parent->child()->associate($child); // присвоение связанного объекта $parent->save();
В этом случае Laravel автоматически установит id для связанной записи при сохранении родительской записи.