[英]Laravel - save json to database column vs Call to a member function save() on array
我正在獲取 Laravel API 中的數據,我想將其添加到表中某一列內的 JSON 中。 但是我收到一個錯誤。 你能幫我把我的JSON存入數據庫欄嗎?
在我的用戶表中,我有一個名為 answer_history 的列,其中包含 JSON
[
[
{
"quizID": 1,
"questionID": 1,
"selectedAnswer": "Green",
"correctAnswer": false
},
{
"quizID": 1,
"questionID": 2,
"selectedAnswer": "Skin",
"correctAnswer": false
},
{
"quizID": 1,
"questionID": 3,
"selectedAnswer": "Pup",
"correctAnswer": true
}
]
]
這是我更新專欄的代碼
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\User $user
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$answers = User::find($id)->answer_history;
$newAnswers = $request->answerHistory;
$answers[] = $newAnswers;
$answers->save();
return $answers;
}
我收到這個 json
[
{
"quizID": 1,
"questionID": 1,
"selectedAnswer": "White",
"correctAnswer": false
},
{
"quizID": 1,
"questionID": 2,
"selectedAnswer": "Keratin",
"correctAnswer": true
},
{
"quizID": 1,
"questionID": 3,
"selectedAnswer": "Cub",
"correctAnswer": false
}
]
如果我評論 $answer->save(),我的瀏覽器-.network->response 中的響應是
[
[
{
"quizID": 1,
"questionID": 1,
"selectedAnswer": "Green",
"correctAnswer": false
},
{
"quizID": 1,
"questionID": 2,
"selectedAnswer": "Skin",
"correctAnswer": false
},
{
"quizID": 1,
"questionID": 3,
"selectedAnswer": "Pup",
"correctAnswer": true
}
],
[
{
"quizID": 1,
"questionID": 1,
"selectedAnswer": "White",
"correctAnswer": false
},
{
"quizID": 1,
"questionID": 2,
"selectedAnswer": "Keratin",
"correctAnswer": true
},
{
"quizID": 1,
"questionID": 3,
"selectedAnswer": "Cub",
"correctAnswer": false
}
]
]
如果沒有,我會收到此錯誤
“調用數組上的成員 function save()”
我在我的 model 中添加了 cast
protected $casts = [
'email_verified_at' => 'datetime',
'answer_history' => 'array'
];
這是因為變量 $answers 是您的 model 的值。您需要將其保留為您的 model
嘗試這個
public function update(Request $request, $id)
{
$answers = User::find($id);
$newAnswers = $request->answerHistory;
$answers->answer_history[] = $newAnswers;
$answers->save();
return $answers;
}
Function save() 來自User
model 而不是值...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.