我在 yii2 中保存表单时遇到问题。
我创建了一个自定义字段,其名称与其他字段相同 Myposts['categoryLevel2']
。该字段不在模型中。它是一个条件字段。当我发布我的发件人时,我将其值分配给模型属性,例如:
$categoryLevel3 = $request->post('categoryLevel3');
if(!empty($categoryLevel3)){
$model->category=$categoryLevel3;
}
现在因为 categoryLevel3 不在表 post 中,所以它给出了错误。
获取未知属性:frontend\models\Posts
我知道这个问题。错误是因为在 $_POST
数组中现在有一个字段 categoryLevel3
而它不在表中所以 $model->save()
是抛出异常。我尝试了 unset($_POST['categoryLevel3'))
但这也没有用。谁能帮我解决这个问题?
如何在 View 中创建一个不在表中的文件,并在 $model->save
之前忽略它?
最佳答案
在您的 Post 模型类中添加公共(public)属性 'categoryLevel3
。
class Post extends yii\db\ActiveRecord{
public $categoryLevel3;
public function rules(){
return [
[''categoryLevel3' , 'required']
...
];
}
}
关于php - 在不在模型中的 yii2 View 中添加自定义字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33970348/