最爱大裤衩

最爱大裤衩

这家伙有点懒,还没写个性签名!

  • 财富值175
  • 威望值0
  • 总积分255

个人信息

  • 赞了回答

    虽然已经结贴了,但是我还是想发表一下:
    1问:为什么要

    load的三种写法:

    public $name;
    public $Age
    

    (PS:其实上面的回答错误,name和age前面少了$)
    1答:因为我们Record继承的是Model,yii里 Model 只是模型,没有做数据表映射。(当然前提是你想映射需要数据表有这两个字段,还要继承Model的子类ActiveRecord)
    所以在提交表单属性到模型时需要填充模型到属性上。而ActiveRecord已经做了数据表与属性映射,所以如果你继承的是ActiveRecord就不需要定义上面两个public
    之所以继承的是model 所以要定义两个属性接收表单属性。

    2问:load数据如何操作的

    2答:一下提供三种写法

    //$models->load($post,'')
    //$models->load(['Record'=>$post])
    //$models->load(['Record'=>$post],'Record')

  • 回复了 的回答

    看这报错,模型代码不应该这样写吗:

    class Record extends Model {
        // 就加这两句:
        public name; 
        public age;
    
        public function rules() {
            return [
                [['name', 'age'], 'required']
            ];
        }
    }
    

    确实是因为没有定义这两个字段的问题,不过你说的改一下控制器代码什么意思呢

  • 回复了 的回答

    load 还有第二个参数,注意看文档

    load第二个参数传空值或者传入表单名的时候报错,$model->load($post,''); $model->load($post,'formname');

  • 提出了问题
    $model->load($post)方法返回false
  • 我的加上formName时候并不可以,报错空.png
    想变为true,只能执行elseif里的代码,然后我把传过来的数据写到$post['formName']中,依然是报上面的那个错误,是$this->setAttributes($data[$scope])里面的函数报错,继续跟踪代码,发现是setAttributes()中调用的的$this->safeAttributes()报错,继续跟踪,safeAttributes()方法中是$scenarios = $this->scenarios()报错,这个方法打开后就看不懂了 不知道该怎么解决

  • 2018-03-27 已签到
    连续签到1天,获得了5个金钱
见习主管 等级规则
255/500
资料完整度
40/100
用户活跃度
0/100

Ta的关注

4

Ta的粉丝

2

Ta的访客

10