如何在YII 2模型上手动更改主键

时间:2017-12-13 02:58:03

标签: php yii2

我尝试使用这种方式,但结果不是完整的列名。

class VMaterial extends \yii\db\ActiveRecord
{
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'v_material';
    }


    /**
     * @inheritdoc$primaryKey
     */
    public static function primaryKey()
    {
        return "id";
    }

结果:

  

SQLSTATE [42S22]:未找到列:1054未知列' i'在'哪里   条款'正在执行的SQL是:SELECT * FROM v_material WHERE   i =' 8'

1 个答案:

答案 0 :(得分:5)

有两种方法可以解决您的问题:

class VMaterial extends \yii\db\ActiveRecord
{
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'v_material';
    }

    /**
     * @inheritdoc$primaryKey
     */
    public static function primaryKey()
    {
        return ["id"];
    }
}

class VMaterial extends \yii\db\ActiveRecord
{
    public $primaryKey = "id";

    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'v_material';
    }
}