福州網站建設>網站新聞>thinkphp6專區

        tp6模型對象屬性接收一個對象賦值會被轉換成json格式

        發布日期:2022-04-08瀏覽次數:846 來源:福州網站建設

        有個一個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咨詢