Yii вставить данные - PullRequest
       14

Yii вставить данные

1 голос
/ 22 ноября 2011

Я довольно новый пользователь yii, и у меня есть небольшой проект, которым я занимаюсь.Я не использую генератор моделей Yii, так как мои запросы довольно индивидуальны, и я все еще не совсем дома со всей активной записью yii, поэтому сейчас я придерживаюсь конструктора запросов.Я понял основные идеи создания SQL-операторов, но думаю, что столкнусь с проблемой, которая мне нужна.

По сути, я вставляю данные в одну таблицу, и янужно получить значение столбца id только что вставленных данных.Самый простой способ - просто вставить и получить максимальное значение столбца id, но я уверен, что это неправильный способ - поскольку кто-то другой может вставить материал «одновременно», и я могув итоге получаю неправильное значение - и мне нужно правильное, потому что я буду вставлять его в другую таблицу.

Я видел, что возвращаемое значение функции insert () является целым числом, числом вставленных строк, поэтому я не могу его использовать.

В принципе, есть ли способ получить данные, которые я только что вставил, в таблицу, которая на 100% правильна и безопасна - даже если кто-то еще что-то вставил в таблицу "одновременно"?

Ответы [ 2 ]

4 голосов
/ 22 ноября 2011

Вы хотите getLastInsertId () класса CDbConnection :

 $id = Yii::app()->db->getLastInsertId();
3 голосов
/ 23 марта 2012

если вы сохранили модель, вы можете получить к ней доступ с помощью

$model->id

при условии, что id - это поле идентификатора автоинкремента в вашей базе данных. очевидно, что до сохранения модели вы не можете получить ее идентификатор

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...