[英]How to save a model in json in yii2?
我有一個如下模型:
$book = \backend\models\Book::find()->all();
然后我可以通過遵循語句訪問特殊的列值:
$ID = $book[0]['ID'];
現在,我想將此模型轉換為Json並將其保存在DB中。 因此,我寫了下面的代碼:
$json = json_encode($book);
那么我想加載並解碼它。
$object = json_decode($json) ;
$ID = $object[0]['ID'];
但是我不能。 我不知道該怎么做。 是否有可能將模型轉換為json?
誰能幫我解決這個問題?
json_decode默認將數據轉換為StdObject。 如果要使用數組而不是對象,則應將assoc
參數設置為true
$object = json_decode($json, true) ;
$ID = $object[0]['ID'];
如果您的json為空,則必須配置[fields][1]
方法來更正數據導出。 例如:
class Book extends ActiveRecord
{
// some code
public function fields()
{
return [
'id',
// others attributes of Book model
];
}
}
嘗試這個:
$book = \backend\models\Book::find()->asArray()->all();
$json = json_encode($book);
$data = json_decode($json, true);
print_r($data[0]['ID']);
查詢時添加->asArray()
感謝所有答案。 我想將所有模型保存為json或字符串在數據庫中,然后檢索它並再次用作模型。 所以我已經通過serialize()
解決了這個問題
$book = \backend\models\Book::find()->all();
$str = serialize($book);
$object = unserialize($str);
$ID = $object[0]['ID'];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.