Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在yii2中的模型中添加列_Php_Yii_Yii2_Yii2 Advanced App_Yii2 Model - Fatal编程技术网

Php 如何在yii2中的模型中添加列

Php 如何在yii2中的模型中添加列,php,yii,yii2,yii2-advanced-app,yii2-model,Php,Yii,Yii2,Yii2 Advanced App,Yii2 Model,我使用Gii创建了名为ExpertQuestion的模型 之后,我在表中添加了列,从中生成了表 所以,我的问题是如何在ExpertQuestion模型中添加列来访问它 错误: 未知属性–yii\base\UnknownPropertyException 设置未知属性:app\models\ExpertQuestion::已删除 重新运行该表的Gii,并将丢失的信息复制粘贴到模型中 或者,如果模型中没有其他代码,只需覆盖整个模型 或者您可以使用一些类似于您的实际模型继承自的基础模型,这意味着您只需

我使用Gii创建了名为ExpertQuestion模型

之后,我在表中添加了列,从中生成了表

所以,我的问题是如何在ExpertQuestion模型中添加列来访问它

错误:

未知属性–yii\base\UnknownPropertyException

设置未知属性:app\models\ExpertQuestion::已删除


重新运行该表的Gii,并将丢失的信息复制粘贴到模型中

或者,如果模型中没有其他代码,只需覆盖整个模型


或者您可以使用一些类似于您的实际模型继承自的基础模型,这意味着您只需在数据库发生更改时重新运行基本模型,而不会覆盖实际模型中实现该基本模型的任何代码。

重新运行该表的Gii,并将缺少的信息复制并粘贴到您的模型中

或者,如果模型中没有其他代码,只需覆盖整个模型


或者您可以使用类似于您的实际模型从何处继承的基本模型,这意味着您只需在数据库发生更改时重新运行基本模型,而不覆盖实际模型中实现此基本模型的任何代码。

编辑模型文件并在规则中写入新字段名

例: 新字段已删除(字符串)然后为此字段编写新规则

[['is_deleted'], 'string'],

编辑模型文件并在规则中写入新字段名

例: 新字段已删除(字符串)然后为此字段编写新规则

[['is_deleted'], 'string'],

在Gii中生成模型,单击diff按钮,复制并粘贴到与新字段相关的模型


在Gii中生成模型,单击diff按钮,复制并粘贴到与新字段相关的模型


这与yii1缓存模型的方式有关

如果您不需要为新一代车型重新运行Gii

你可以简单地。。删除应用程序的运行时目录

   yourApp/runtime  

这与yii1缓存模型的方式有关

如果您不需要为新一代车型重新运行Gii

你可以简单地。。删除应用程序的运行时目录

   yourApp/runtime  

让我们考虑新的列名作为NoCoL在您的模型

更新规则功能

public function rules()
{   
   return [.....

      [['newCol'], 'string', 'max' => 30],

      ];   
}
然后添加标签

public function attributeLabels()
{
        return [...

         'newCol' => Yii::t('app', 'L Name'),

       ];    
}
现在打开搜索模型并更新

public function search($params)
{
    ....

    $query->andFilterWhere(['like', 'newCol ', $this->newCol ])

    ....

    return $dataProvider;    
}

让我们考虑新的列名作为NoCoL在您的模型

更新规则功能

public function rules()
{   
   return [.....

      [['newCol'], 'string', 'max' => 30],

      ];   
}
然后添加标签

public function attributeLabels()
{
        return [...

         'newCol' => Yii::t('app', 'L Name'),

       ];    
}
现在打开搜索模型并更新

public function search($params)
{
    ....

    $query->andFilterWhere(['like', 'newCol ', $this->newCol ])

    ....

    return $dataProvider;    
}

错误是关于
ExpertQuestion
,而不是
User
…对不起,我编辑了我的问题,请检查错误是关于
ExpertQuestion
,而不是
User
…对不起,我编辑了我的问题,请检查