2012-02-25 3 views
5

Я уже сделал модель для form.In, что поля были какПолучение последнего вставленного значения в Yii

id 
firstname 
lastname 
description 
created_at 
updated_at 
created_by 
updated_by 

Я сделал необходимые CRUD для Form.Now Я хочу, чтобы получить одно дополнительное поле для последнего вставлено id in view file.So, как получить это значение? Чтобы получить это значение, я должен внести какие-либо необходимые изменения в CRUD? Любая помощь и предложения будут весьма полезными.

+0

дубликата HTTP: //stackoverflow.com/questions/9456132/getting-last-inserted-id-from-mysql-in-yii и http://stackoverflow.com/questions/9436264/ascending-form-numbers-in-yii – Avanche

ответ

21

Вы можете получить последний вставленный ID так:

Yii::app()->db->getLastInsertId(); 

ВИДЕТЬ Yii documentation для получения дополнительной информации.

+0

ID не Я бы. с капиталом D Yii :: app() -> db-> getLastInsertID(); –

1

Если ваша цель - получить идентификатор, присвоенный модели, которую вы только что сохранили, после того, как вы сделаете $model->save(), просто сделайте $model->id, чтобы вернуть его.

2

Если $model->id не работает, используйте Yii::app()->db->getLastInsertId() или getPrimaryKey().

+0

'Yii :: app() -> db-> getLastInsertId()' кажется лучше, так как его можно использовать в любом месте вне модели (например, в миграции) и не попадают в обсуждаемые здесь проблемы [здесь] (http: // www. yiiframework.com/forum/index.php/topic/6566-how-to-know-the-last-record-id-inserted/page__view__findpost__p__33653). Но где угодно - хороший ответ (+!). Благодарю. – trejder

2

вы также можете получить последний вставленный идентификатор другой модели.

$std_id = Students::model()->findAll(array('order' => 'admission_no DESC','limit' => 1)); 

      foreach($std_id as $f) { 

       echo "Last Inserted Admission No:".$f['admission_no']; 
       } 

или

вы последний вставленный идентификатор в одной и той же модели

Yii::app()->db->getLastInsertID(); 
0

Ссылка Ссылка: Here

$model->primaryKey or 
$model->id // this is your primary key item 
2

В Yii2 последним добавленным идентификатором можно получить с помощью

Yii::$app->db->getLastInsertedID(); 

добавил для тех, кто ищет ответ на тот же вопрос в yii2

0

В Yii2 последним добавленным идентификатор можно получить с помощью

Yii::$app->db->getLastInsertID(); 

не использовать

Yii::$app->db->getLastInsertedID(); 
Смежные вопросы