【问题标题】:Getting last inserted value in Yii在 Yii 中获取最后插入的值
【发布时间】:2012-02-25 11:34:25
【问题描述】:

我已经为表格制作了一个模型。其中的字段就像

id
firstname
lastname
description
created_at
updated_at
created_by
updated_by

我已经为表单进行了必要的 CRUD。现在我想为视图文件中最后插入的 id 获取一个额外的字段。那么如何获取该值?要获取该值,我应该在 CRUD 中进行任何必要的更改吗?任何帮助和建议将非常适用。

【问题讨论】:

标签: php mysql yii


【解决方案1】:

您可以像这样获取最后插入的 ID:

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

请参阅Yii documentation 了解更多信息。

【讨论】:

  • ID 不是 ID。大写 D Yii::app()->db->getLastInsertID();
【解决方案2】:

如果您的目标是获取分配给您刚刚保存的模型的 id,那么在您执行 $model->save() 之后,只需执行 $model->id 即可将其取回。

【讨论】:

    【解决方案3】:

    如果$model->id 不起作用,则使用Yii::app()->db->getLastInsertId()getPrimaryKey()

    【讨论】:

    • Yii::app()->db->getLastInsertId() 似乎更好,因为它可以在模型之外的任何地方使用(例如在迁移中)并且不属于here 讨论的问题。但是,在任何地方——很好的答案(+!)。谢谢。
    【解决方案4】:

    您还可以获取另一个模型的最后插入的 id。

    $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'];
                    }
    

    你可以在同一个模型中最后插入id

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

    【讨论】:

      【解决方案5】:

      Yii2最后插入的id可以使用

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

      为在yii2寻找相同问题答案的人添加

      【讨论】:

        【解决方案6】:

        参考链接:Here

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

        【讨论】:

          【解决方案7】:

          在 Yii2 中最后插入的 id 可以使用

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

          不使用

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-03-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-01-27
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多