我的數據庫中的表格列保存爲json
類型。我想在我的刀片模板上顯示保存的json對象中的鍵控值,但我不確定如何。用於Eloquent集合的json類型列中的訪問鍵?
假設我在Newsletter
模型的表格模式中有$table->json('meta')
,其中meta
列有例如0。作爲價值的{"foo": "bar"}
。
我該如何檢索$newsletter->meta->foo
之類的東西?由於$newsletter->meta
默認在Laravel 5.5中返回字符串而不是json對象,因此需要一個簡單的json_decode
來轉換它。
除了每次調用json_decode
之外,更清潔的解決方案是使用該列上的訪問者,例如getMetaAttribute
但這仍然是一團糟。我想自動將json
列轉爲PHP對象檢測,我該如何做到這一點?
謝謝,是否有任何理由爲什麼框架喜歡鑄造'json'列默認情況下字符串而不是對象?有沒有辦法來覆蓋這個?我正在使用幾十個模型和各種各樣的列,所以我想要全局啓用它,而不是逐個單獨投射。 –
雄辯不會自動分析你的屬性的值,如果你仔細想想,那將是一種奇怪的(而且效率非常低)。 JSON數據本身基本上只是一個字符串到PHP。 –