Получение последнего вложенного идентификатора из MySQL в Yii

Я хочу показать последний идентификатор входа из базы данных в виде> _form.php file.I сделал код в файле _form.php следующим образом

<div class="row"> <?php echo $form->labelEx($model,'id'); ?> <?php echo Yii::app()->db->getLastInsertId('Form');?> <?php echo $form->error($model,'id'); ?> </div> 

Здесь Form – это таблица и имя модели. Но все же я получаю ID:0 Где-то неправильная часть?

Ответ Пекки хорош для общего . Но если вы хотите сделать это в Yii Framework , попробуйте следующее:

 $myModel = new $model; $model -> savel(false); echo $model->primaryKey; // Prints the last id. 

Или вы можете попробовать это тоже для общего решения:

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

Наконец, я предлагаю вам проверить это

Все функции last_insert_id (будь то оболочки PHP или собственный mySQL) обычно ссылаются на последний идентификатор, созданный с использованием текущего соединения с базой данных. Последний логин, вероятно, не был создан во время того же запроса, в котором вы показываете таблицу, поэтому этот метод не будет работать для вас.

Используйте обычный SELECT чтобы узнать новейший логин вместо этого – например, используя ORDER by creationtime DESC LIMIT 1 .

Связано: Как получить наивысшее значение поля в таблице в MySQL?

 $max = Yii::app()->db->createCommand()->select('max(id) as max')->from('TABLENAME')->queryScalar(); 

Просто добавьте один, чтобы получить следующий.