2019-05-21 15:04:29 1993次浏览 2条回答 0 悬赏 10 金钱

$model->load() 是干什么的呢?什么时候使用啊?

  • 回答于 2019-05-21 16:57 举报

    用输入数据填充模型~

  • 回答于 2019-05-22 11:57 举报

    正常情况下你不是需要通过$model->a = $_POST['']或者$model->a = $request->post('')来给模型的属性赋值(接收客户端提交的值)吗?
    这样的话,有100个属性就需要100个赋值。
    Yii2的AR提供了$model->load($request->post())方法,实现自动赋值,不需要写那么多代码,一行代码就可以实现100个甚至更多属性的赋值。
    $model->load()的第二个参数也很有用,你可以详细看一下它的代码实现。

    2 条回复
    回复于 2019-05-22 14:17 回复

    那我直接使用 $_POST 不就可以获取到所有的值了,干嘛要用这个呢?

    回复于 2019-05-22 16:57 回复

    $_POST是获取到说有值了,但是你的模型属性还没有值,怎么把你获取到的值给你的模型属性,load()给你做了. 其实就是循环_attribute[] 赋值,_attribute 是你在处理ar的时候自动处理好的数组。如果不是ar就load()成员变量。

您需要登录后才可以回答。登录 | 立即注册
PHP学院的中学生
副总裁

PHP学院的中学生

注册时间:2018-10-23
最后登录:2024-09-23
在线时长:168小时13分
  • 粉丝29
  • 金钱4725
  • 威望30
  • 积分6705

热门问题