top-think / think-orm

Think ORM——the PHP Database&ORM Framework
Apache License 2.0
413 stars 171 forks source link

模型$append问题 #487

Open yuyachong opened 1 year ago

yuyachong commented 1 year ago

模型内部设置了 $append(有自定义获取器方法),那么外部使用hidden方法 会导致无效。

我觉得应该是以外部使用append方法为主,不使用该方法就默认用内部设置的$append

关联社区贴: https://q.thinkphp.cn/post/1686

liu21st commented 1 year ago

append比hidden优先的 不管是内置设置还是外部方法调用

yuyachong commented 1 year ago

append比hidden优先的 不管是内置设置还是外部方法调用

好吧,

还有个问题, 模型内$append属性 设置了一个自定义的字段方法(实际数据库中没有这个字段),那么外部是应用不上的,只能外部调用append方法才行,这个算是bug了吧? 应用场景:自定义字段全局用,特定地方可以使用hidden取消 我认为既然手动设置了$append,也存在这个getXXXAttr,那么就应该输出到数据上

liu21st commented 1 year ago

append比hidden优先的 不管是内置设置还是外部方法调用

好吧,

还有个问题, 模型内$append属性 设置了一个自定义的字段方法(实际数据库中没有这个字段),那么外部是应用不上的,只能外部调用append方法才行,这个算是bug了吧? 应用场景:自定义字段全局用,特定地方可以使用hidden取消 我认为既然手动设置了$append,也存在这个getXXXAttr,那么就应该输出到数据上

有代码示例么?

yuyachong commented 1 year ago

append比hidden优先的 不管是内置设置还是外部方法调用

好吧, 还有个问题, 模型内$append属性 设置了一个自定义的字段方法(实际数据库中没有这个字段),那么外部是应用不上的,只能外部调用append方法才行,这个算是bug了吧? 应用场景:自定义字段全局用,特定地方可以使用hidden取消 我认为既然手动设置了$append,也存在这个getXXXAttr,那么就应该输出到数据上

有代码示例么?

======================================= 分页查询中,hidden无效,无论是放在paginate前或后 360截图20230810120627324 360截图20230810120627324

find查询,hidden无效,无论是放在paginate前或后 360截图20230810120916953 360截图20230810120936428

thinkphp版本8.0.1

yuyachong commented 1 year ago

360截图20230810120617094

模型内