福州网站建设>网站新闻>thinkphp6专区

tp6模型对象属性接收一个对象赋值会被转换成json格式

发布日期:2022-04-08浏览次数:721 来源:福州网站建设

有个一个Model对象 A,和一个模型对象B
A->b或A['b'] = B时
B被转换成了json格式存储,但我需要的是一个对象,虽然可以通过json_decode还原,但比较麻烦。
经代码跟踪发现是:think\model\concern\Attribute::setAttr

elseif (is_object($value) && method_exists($value, '__toString')) {
// 对象类型
$value = $value->__toString();
}

这样一段代码完成的转换,不知道是不是代码更新新增加了这样一句代码。

以上是由福州网站建设的小编为你分享了"tp6模型对象属性接收一个对象赋值会被转换成json格式"文章,如果你在这方面有什么问题,随时联系我们

网友评论

  • 犀利酸奶 04月07日

    TP6不是一直都这样吗?
    任何时候一个对象可以被直接调用,设置输出对象的同名函数或属性,通过tostring是直接完成的,对于TP6框架的整个思路来说,这样做是必须的

    对于个人习惯的话,要么适应TP6,要么放弃框架自己写code

  • 犀利酸奶 04月09日

    回复 ilove4c : 查一下更新手册,如果不是小更新后产生的问题,那就要检查你之前调用的对象是否有变动。之前遇到通过api接口调数据,之前是{jason格式数据}普通对象回调,但是后来变成[jason格式数据]的数组对象回调。

  • ilove4c 04月08日

    这个诡异的问题在于:之前是可以正常的,突然就不能正常使用,所以检查发现是这个问题。不知道之前为什么可以正常使用

thinkphp6专区有关的文章
如果您有什么问题,欢迎咨询我们客服! 点击QQ咨询