在
以上截圖來自phpmyadmin. 我通過以下代碼保存資料:
// In the update action:
//...
if ($flag) {
$transaction->commit();
Yii::$app->getSession()->setFlash('success', 'Record has been updated!');
$this->savedi($model);
return $this->redirect(['view', 'id' => $model->id]);
}
//...
private function savedi($model)
{
$output = [];
foreach ($model->invoiceItems as $i => $item){
$output['items'][$i]['id'] = $item->item_id;
$output['items'][$i]['title'] = $item->item->title;
$output['items'][$i]['qty'] = $item->qty;
}
$model->saved = json_encode($output);
$model->save();
}
我不知道為什么 JSON 會這樣損壞?
uj5u.com熱心網友回復:
有問題的字串看起來像雙重編碼的 JSON。
yii2 對負責編碼/解碼的 JSON 欄位有一些基本支持。json_encode()因此,您只需分配應該按原樣編碼的陣列/物件,而不是呼叫自己。
private function savedi($model)
{
$output = [];
foreach ($model->invoiceItems as $i => $item){
$output['items'][$i]['id'] = $item->item_id;
$output['items'][$i]['title'] = $item->item->title;
$output['items'][$i]['qty'] = $item->qty;
}
$model->saved = $output;
$model->save();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/493852.html
下一篇:獲取最高分數并存盤在另一列中
