yii2 RESTful 插入新数据 是否可以调用save()方法? [ 2.0 版本 ]
RESTful 插入新数据 是否可以调用save()方法? 我在RESTful 接口调用save()方法插入数据 有两个字段一直保存不了,其他的字段正常可以保存 。
共 2 个回答
-
chocoboxxf 回答于 2015-06-03 12:40 举报
可以用的,如果是用的yii自带的CreateAction,要注意的是,他在读取参数的时候使用的是
$model->load(Yii::$app->getRequest()->getBodyParams(), '');
方法load在读取参数时,没有设rule或者不在safeAttributes里的字段不会自动读取,具体可以参考下Yii2 安全字段共 3 条回复chocoboxxf 回复于 2015-11-27 21:44 回复@cgp 可以自己模仿yii的createAction写一个action,在controller里指定create方法调用你自己写的类,如
public function actions() { return [ 'index' => [ 'class' => 'yii\rest\IndexAction', 'modelClass' => $this->modelClass, 'checkAccess' => [$this, 'checkAccess'], ], 'create' => [ 'class' => 'frontend\actions\item\CreateAction', 'modelClass' => $this->modelClass, 'checkAccess' => [$this, 'checkAccess'], ], ]; }
然后在自己写的CreateAction里对load读取不了的字段手动赋值
cgp 觉得很赞
长春子
注册时间:2013-12-23
最后登录:2015-11-02
在线时长:10小时37分
最后登录:2015-11-02
在线时长:10小时37分
- 粉丝8
- 金钱318
- 威望0
- 积分418