chil
@chil
Junior

Как вытащить id последней записи или узнать с каким id создастся юзер, Yii2?

Добрый день! Скажите пожалуйста как на Yii2 вытянуть последнюю запись из базы?
Есть пользователи в которых генеруееться id и при создании пользователя мне нужно уже знать какое у него будет id , так как не загружает файлы по другому.
Вот нужно вытянуть последнее id и добавить единицу.
Возможно кто-то подскажет более простое решение.
Буду очень благодарен за помощь!
  • Вопрос задан
  • 3720 просмотров
Пригласить эксперта
Ответы на вопрос 4
reaferon
@reaferon
$id = Yii::$app->db->getLastInsertID();
Возвращает ID последней вставленной записи
Ответ написан
slo_nik
@slo_nik Куратор тега Yii
Добрый вечер.
Создали пользователя и получили id(самый простой вариант):
if($model->save()){
   return $model->id;
}
Ответ написан
Комментировать
@entermix
Примерно так:
User::find()->orderBy('id DESC')->one();

Но Вы неправильно решаете задачу.

Вот нужно вытянуть последнее id и добавить единицу.
Возможно кто-то подскажет более простое решение.

А если в это время зарегистрируется еще 100500 пользователей?

Добавьте пользователя, получите его идентификатор и только после этого привязывайте какие либо файлы, или загружать их во временное хранилище.
Ответ написан
Комментировать
qonand
@qonand
Software Engineer
Если Вам необходимо получить идентификатор записи до ее сохранения в базу данных - тогда стоит отказываться от автоинкремета идентификатора (насколько я понимаю у Вас сейчас как раз он и используется) и делать вычисление идентификатора на стороне приложения, либо же сначала сохранять пользователя, а потом получать его идентификатор.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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