如何在Yii 2中的表中存储最后插入的id的变量

时间:2015-10-04 23:13:05

标签: php mysql activerecord yii2

我想使用Yii 2存储我的一个数据库表的最后插入的Id。

我尝试使用lastinsertID制作新功能,但它说数据库连接未激活

<?php

namespace app\models;
use Yii;
use yii\db\ActiveRecord;

// modelo para conectar la base de datos con el modelo

class Articulo extends ActiveRecord{

   public static function getDb()
   {
       return Yii::$app->db;
   }

   public static function getLastId(){

    $connection = Yii::$app->db;
    $last = $connection->lastInsertID;
    //Yii::$app->db->getLastInsertID('revista');
    return $last;
   }

   public static function tableName()
   {
    return 'articulo';
   }

}

我正在从控制器调用getLastId()

我做错了什么?

1 个答案:

答案 0 :(得分:0)

enter code here




    if($model->load(Yii::$app->request->post())) 
    {


        if($model->validate() )
        {

            $table = new Articulo;

            $model1 = Articulo::getLastId();

            $table->titulo_articulo = $model->titulo_articulo;
            $table->resumen_articulo = $model->resumen;
            $table->autor_articulo = $model->autor
            $table->id_revista = $model1;

            $table->desc1_articulo = $model->descriptor_1;
            $table->desc2_articulo = $model->descriptor_2;
            $table->desc3_articulo = $model->descriptor_3;
            $table->desc4_articulo = $model->descriptor_4;


            }
            if($table->insert() )
            {

                $id = $table->id_articulo;
                $msg = "Has subido los datos de la revista con ID unica ".$id ." de manera correcta";
                $model-> titulo_articulo = null;
                $model-> resumen = null;
                $model-> autor = null;
                $model-> descriptor_1 = null;
                $model-> descriptor_2 = null;
                $model-> descriptor_3 = null;
                $model-> descriptor_4 = null;