如何使用ThinkPHP模型访问器格式化输出复杂多维数组?
- 内容介绍
- 文章标签
- 相关推荐
本文共计983个文字,预计阅读时间需要4分钟。
ThinkPHP 模型访问器本身不处理多维数组的输出格式化,它仅对单个字段值生效;所谓格式化多维数组,实际上是将 `toArray()`、`toJson()` 或模板中嵌套的输出转化为访问器职责。
访问器_getAttr 只作用于模型自身字段,不递归处理关联数据
常见错误是给主模型定义了 getProfileAttr,期望它能自动格式化关联模型 Profile 的字段(比如 profile.name),结果发现 $model->profile->name 仍是原始值。
本文共计983个文字,预计阅读时间需要4分钟。
ThinkPHP 模型访问器本身不处理多维数组的输出格式化,它仅对单个字段值生效;所谓格式化多维数组,实际上是将 `toArray()`、`toJson()` 或模板中嵌套的输出转化为访问器职责。
访问器_getAttr 只作用于模型自身字段,不递归处理关联数据
常见错误是给主模型定义了 getProfileAttr,期望它能自动格式化关联模型 Profile 的字段(比如 profile.name),结果发现 $model->profile->name 仍是原始值。

