Php Yii插入数据

Php Yii插入数据,php,insert,yii,Php,Insert,Yii,我是一个全新的yii用户,我正在做一个小项目。我没有使用Yii的模型生成器,因为我的查询是非常定制的,而且我对整个Yii活动记录还不太熟悉,所以我现在还是坚持使用查询生成器。我已经掌握了编写sql语句的基本思想,但我想我需要做的一个语句会遇到问题 基本上,我将数据插入到一个表中,我需要得到刚刚插入的数据的id列的值。最简单的方法是只做一个insert并获得id列的最大值,但我很确定这不是正确的方法——因为其他人可以“同时”插入内容,而我可能最终得到错误的值——我需要正确的方法,因为我将把它插入到

我是一个全新的yii用户,我正在做一个小项目。我没有使用Yii的模型生成器,因为我的查询是非常定制的,而且我对整个Yii活动记录还不太熟悉,所以我现在还是坚持使用查询生成器。我已经掌握了编写sql语句的基本思想,但我想我需要做的一个语句会遇到问题

基本上,我将数据插入到一个表中,我需要得到刚刚插入的数据的id列的值。最简单的方法是只做一个insert并获得id列的最大值,但我很确定这不是正确的方法——因为其他人可以“同时”插入内容,而我可能最终得到错误的值——我需要正确的方法,因为我将把它插入到另一个表中

我已经看到insert()函数的返回值是一个整数,即插入的行数,所以我不能使用它

基本上,有没有一种方法可以让我刚刚插入到一个表中的数据100%正确和安全?即使其他人“同时”在表中插入了一些内容?

您想要类:

你想要上课:


如果已保存模型,则可以使用访问该模型

$model->id
假设id是数据库中的自动增量id字段。
显然,在保存模型之前,您无法获取其id

如果您已保存模型,则可以使用

$model->id
假设id是数据库中的自动增量id字段。
显然,在保存模型之前,您无法获取spot on的id

+1。但额外值得一提的是:它只是一个包装器,用于spot-on调用PDOs-native-lastInsertId:p+1。但要额外强调:它只是对PDOs原生lastInsertId:p调用的包装