Я хочу показать последний идентификатор входа из базы данных в виде> _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();
Просто добавьте один, чтобы получить следующий.