2016-10-20 15:30:33 8263次浏览 6条回答 0 悬赏 10 金钱

放在if里面判断,成功代表的是有值,还是只是代表有post值,还是代表有post值,并通过了验证

补充于 2016-10-20 17:05

$model->load()的作用是什么呢?

最佳答案

  • 飘逸 发布于 2016-10-20 18:37 举报

    成功代表的是有值。而你的值是request->post()获取的,所以代表的是有post值。
    load()的作用是批量填充模型。因为你会在load前面发现 $model = new Model。此时的 $model 是 new 出来的,是新的,只是个骨头架子,纸老虎,所以它迫切需要一些值来填充自己,否则它除了能为前端 ActiveForm 提供一些JS验证外,屁用没有。而此时,load() 应运而生。
    而解决温饱飞黄腾达之后,Yii 会审视 $model。这小子做的这些事符不符合我给他定的规矩。于是Yii 根据 $model 调用了你接下来看到的 validate(),然后不合规矩就干掉他,即使他是苍蝇或者老虎。所以验证部分 load() 不会去做,而是交给了 validate()。就像贪官能发现自己是贪官吗?

您需要登录后才可以回答。登录 | 立即注册
zhoutengfu
助理

zhoutengfu

注册时间:2016-05-08
最后登录:2018-01-22
在线时长:11小时3分
  • 粉丝2
  • 金钱75
  • 威望0
  • 积分185

热门问题