Как получить id вставленной в БД записи с помощью Eloquent в laravel?

Я нашел как получить id при вставке записи вручную, с помощью DB::table('autos')->insertGetId()
Для eloquent в доках нашел связанные модели - сначала показалось, что это то, что надо, но нет.

Мне надо огромную форму распихать по трем таблицам, каждая из которых зависит от следующей.
Т.е. сначала вставляю запись, например, в таблицу autos, далее, получив id этой записи, вставляю данные в таблицу users и тут использую полученный id

Но как получить этот id?
  • Вопрос задан
  • 646 просмотров
Решения вопроса 1
@D3lphi
$auto = Auto::create([
    // ...
    'key1' => 'val1',
    'key2' => 'val2',
    // ...
]);

User::create([
    // ...
    'auto_id' => $auto->id, // Ох уж это магия... Создайте лучше геттер.
    // ...
]);


Или

$id= Auto::insertGetId([
    // ...
    'key1' => 'val1',
    'key2' => 'val2',
    // ...
]);

User::insert([
    // ...
    'auto_id' => $id,
    // ...
]);


Можно связать "модели" отношениями и делать так:
$user->auto()->attach($auto);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы