@freelancer007

Как получить ID только что созданной записи (Laravel)?

Всем доброго дня и Хорошего настроения!
в php есть функция mysql_insert_id(), которая используется сразу после запроса, чтобы вытащить ID последней записи
У меня два вопроса:
1. Какова вероятность что эта функция вернет не тот ИД? (если после моей вставки ктото еще успел добавил запись)
или эта функция вернет последнюю добавленную запись только для ТЕКУЩЕГО соединения? Пролейте пожалуйста свет на данный момент.
2. Как в Laravel, используя Eloquent получить последний ИД? И опять таки, Какова вероятность что эта функция вернет не тот ИД? (если после моей вставки ктото еще успел добавил запись)
Спасибо!
  • Вопрос задан
  • 11534 просмотра
Решения вопроса 1
miraage
@miraage
Старый прогер
$model = Product::create($attributes);
var_dump($model->id); // prints inserted id

$model = new Product($attributes);
$model->save();
var_dump($model->id); // prints inserted id
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@otjog
Если в таблице есть автоинкрементный ID, используйте метод insertGetId() для вставки записи и получения её ID:
$id = DB::table('users')->insertGetId(
          ['email' => 'john@example.com', 'votes' => 0]
);
Ответ написан
VladimirAndreev
@VladimirAndreev
php web dev
ну, модель создал / сохранил, модель сказала, что все хорошо?
не вижу логических оснований, почему ее ИД не заполнен тем ИД, который присвоила база. вроде как, стандартное поведение...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы