我想在视图> _form.php文件中显示数据库中的最后一个登录ID.我已经在_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>
Run Code Online (Sandbox Code Playgroud)
这里表格是表格和型号名称.但我仍然得到 ID:0.错误的部分是什么?
Pekka的回答很常见.但如果您想要执行此操作Yii Framework,请尝试以下操作:
$myModel = new $model;
$model -> savel(false);
echo $model->primaryKey; // Prints the last id.
Run Code Online (Sandbox Code Playgroud)
或者您也可以尝试这个以获得一般解决方案:
Yii::app()->db->getLastInsertID();
Run Code Online (Sandbox Code Playgroud)
最后,我建议你检查出这个
所有last_insert_id函数(无论是PHP包装器还是本机mySQL版本)通常都是指使用当前数据库连接创建的最后一个ID .最后一次登录可能不会在您显示表格的同一请求中创建,因此此方法不适合您.
使用法线SELECT来查找最新的登录信息 - 例如使用ORDER by creationtime DESC LIMIT 1.
小智 5
$max = Yii::app()->db->createCommand()->select('max(id) as max')->from('TABLENAME')->queryScalar();
Run Code Online (Sandbox Code Playgroud)
只需添加一个即可获得下一个。