2016-06-08 11:48:58 4769次浏览 2条回答 0 悬赏 10 金钱

model里面重写fields()方法可以过滤load()时的字段,那么fields()是在哪调用的?

最佳答案

  • robbins 发布于 2016-06-09 22:32 举报

    fields()主要作用关联数据表字段和模型属性,这样数据表改了只改fields里的字段就可以了,不用重新把控制器视图什么的都改一遍。
    另外unset后不是在load时过滤而是直接删除和数据表的关联,在该模型内就好像属性或字段不存在一样。

    6 条回复
    回复于 2016-06-12 10:51 回复

    但是unset以后用find还是能查出来的,要是删除关联了应该查不到吧

    回复于 2016-06-13 19:24 回复

    只是ar模型不关联了,查表和ar的关联没什么关系吧

    回复于 2016-06-13 19:26 回复

    区别下ar的属性和字段..他俩不一个意思

    回复于 2016-06-13 19:27 回复

    上面确实打错了,是属性卸载掉和字段没关系

    回复于 2016-06-13 19:31 回复

    ar的作用就是把数据表关联成一个类,方便应用调用,而表中的字段自动关联成类属性,这次应该解释清楚了。unset只是卸载掉类属性

    回复于 2016-06-14 11:05 回复

    多谢

  • 回答于 2016-06-08 14:17 举报

    这个貌似没有你说的那个过滤load功能啊。只是返回模型数据时候有用,比如你表里是username你想返回成nickname

    1 条回复
    回复于 2016-06-12 10:52 回复

    用unset可以,但是实现原理不知道

您需要登录后才可以回答。登录 | 立即注册
木奕
等待激活

木奕

注册时间:2015-07-22
最后登录:2019-01-10
在线时长:44小时43分
  • 粉丝4
  • 金钱1090
  • 威望40
  • 积分1930

热门问题