老莫的笔记本  
  
查看: 1197|回复: 0

TP5 数据模型读取器 无效 情况

[复制链接]

662

主题

878

帖子

5145

积分

超级版主

Rank: 8Rank: 8

积分
5145
发表于 2018-8-29 22:35:03 | 显示全部楼层 |阅读模式
我想说脏话! 一天半的时间 都丢在这一件事上面!结果居然是因为 ->getData()

问题阐述: 当时我写的代码是:
C代码
  1.     public function mc()
  2.     {
  3.         $admins = Admins::get(2)->getData();
  4.         $this->assign('data2',$admins);
  5.         return $this->fetch();
  6.     }
复制代码

M代码
  1.   public function getAddTimeAttr($addTime)
  2.     {
  3.         return date('Y-m-d',$addTime);
  4.     }
复制代码

V代码
  1. {layout name="layout" /}
  2. <h1>这是测试页面</h1>
  3. {$data2.add_time}
  4. <br>
  5. {$data2.gid}
  6. <br>
  7. {$data2.status}
复制代码

问题是 !不论怎么输出, 输出在模板中的变量 都没有经过获取器的加工!后来我发现问题子啊 getData() 上!
已知:get()  获得的是一个数组对象,  而  getData()  则会从get() 到的数组对象中剥离出数组!
那么  在渲染的时候 获得的值 也就是个普通的键  而不是对象的一个属性; 既然它不是属性,当然没有经过转换!!!!!
MV 都对,错的 是C  

正确的C
  1. public function mc()
  2.     {
  3.         $admins = Admins::get(1);
  4.         $this->assign('data2',$admins);
  5.         return $this->fetch();
  6.     }
复制代码




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表