2015-04-02 18:52:58 13995次浏览 1条回答 3 悬赏 9 金钱

我的数据库 有个字段 id 自增主键
我在$model->load 或者 $model->attributes 数据赋值时候
前端给我提交给model不必要的字段id这种情况如何处理
难道是我赋值之后要判断一下吗 然后赋值null?

我写的是接口 我不相信客户端 万一post过来id 我load 或者$model->attributes 不就赋值上去了

补充于 2015-04-03 10:34

@ArthurSS
其实在save()时候可以添加第二个参数,设置要save的字段

最佳答案

  • ArthurSS 发布于 2015-04-03 10:19 举报

    既然你的id自增主键,那么前端就不应该传递,也就是说写ActiveForm的时候不设置id这条input即可;
    如果是其他原因担心id传递过来,可以用函数scenarios()解决;
    比如你的model里面有三个字段:id、name、email,可以在这样写:

    public function scenarios() {
        return [
            'normal' =>['name','email'],
            'manage' =>['id','name','email']
        ];
    }
    

    这样再在Controller里面添加一个:model->scenario='normal';
    即可使得id不会被赋值。

    , , 觉得很赞
    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
myname9
总监

myname9

注册时间:2014-10-15
最后登录:2015-05-06
在线时长:43小时31分
  • 粉丝2
  • 金钱1936
  • 威望0
  • 积分2366

热门问题