zbuilder 在进行编译时,会调用获取器或者修改器,导致渲染结果不能达到预期

 
直接写的修改器
1504053656(1).jpg

 
表格渲染结果为 0 ,实际类型为 switch

1504053712(1).jpg

 
如果需要正常显示,需要这样写修改器器代码

1504053510(1).jpg

 
显示正常

1504053676(1).jpg

 
在编译过程中 $row 是模型,进行赋值的时候会调用修改器

1504053979(1).jpg

 
 
这样的效果有利也有弊,弊端是修改器或者获取器的写法需要兼顾zbuilder,不好保证,如果可以加一个标识,标识出是否是zbuilder的代码调用的获取器,就可以在zbuilder编译阶段使用获取器来输出想要的内容,而其他情况则输出正常需要的内容。
已邀请:

流风回雪

赞同来自:

既然不用修改器、获取器,那  ZBuilder::make('table') 查询数据的时候就不要用模型,用 think\Db 查询啊

dolphinphp

赞同来自:

非常感谢您的反馈,目前ZBuilder的运行机制确实会有这样的问题,会触发修改器,我们会在后续版本继续加强完善。

要回复问题请先登录注册