学习数据库保存中遇到了一个问题,控制器里的代码如下:
$entry = new EntryForm;
//如果是Post请求提交
if(Yii::$app->request->getIsPost()){
//表单模型设置属性为post值
$entry->setAttributes(Yii::$app->request->post());
//表单模型数据验证
if ($entry->validate()) {
//正确
$result = $entry->save();
var_dump($entry->attributes);
} else {
//返回错误提示
var_dump($entry->getErrors());
}
}else{
//如果不是Post请求,正常显示模板
return $this->render('entry',['model'=>$entry]);
}
最后能返回插入的id和数据,数据表里面相应的字段为空,只有id。
帖上EntryForm的代码:
<?php
namespace app\models;
use yii\db\ActiveRecord;
class EntryForm EXTENDS ActiveRecord{
public $name;
public $email;
public static function tableName()
{
return '{{user}}';
}
public function rules()
{
return [
[['name','email'],'required','message'=>'请填写!'],
['email','email','message'=>'邮箱格式不正确!'],
];
}
}
这里有问题,2.0的表前缀是`
{{%user}}