سلام وقتتون بخیر من دارم آپدیتمو با ایجکس مینویسم ولی نمیدونم چرا همچین ارروری دارم
Call to a member function update() on null
کد توی کنترلرم:
$idAnswer=$answeredQuestionRequest->answerId;
$answerId=Answer::find($idAnswer);
$idQuestion=$answeredQuestionRequest->questionId;
$questionId=Question::find($idQuestion);
$correctAnswer=$answerId->correct_answer;
$answer=$answeredQuestionRequest->answer;
$answerQuestion=([
"answer_id"=>$answerId->id,
"answer_select_user"=>$answer,
"is_true"=>empty($answer) ? '۲' : ($correctAnswer==$answer ? '۱' : '۰')
]);
$update=AnsweredQuestions::find($questionId->id)->update($answerQuestion);
return $update;
}```
کد ایجکسم:
``` $('.prev').on('click',function () {
if (number > question_id) {
console.log(number--);
$('.s-holder').hide();
$('#s' + number).show();
}
$('#next').on('click',function () {
var id = $(this).data('id');
var answerId = $('#answerId' + id).val();
var lai = $(this).data('answer_id');
// console.log(lai);
var answer = $('input[name=' + lai + ']:checked').val();
var questionId = $('#questionId' + id).val();
// console.log(answer);
$.ajax({
type:"POST",
url:"{{route('front.exam.update',$link)}}",
data: {
'id':id,
'questionId': questionId,
'answerId': answerId,
'answer' : answer,
'_token': '{{csrf_token()}}'
},
success:function (data) {
alert(answerId);
if (data==۱){
alert('movafagh');
}
}
});
});
});```
اینم روتم:
```Route::post('/exam/edit/{link}/','Front\ExamController@update')->name('front.exam.update');```
مشکل از خط زیر هست:
$update=AnsweredQuestions::find($questionId->id)->update($answerQuestion);
شما سعی دارید یه گزینه رو از مدلتون پیدا کنید و آپدیتیش کنید. خوب اگر اون گزینه پیدا نشه به همچین اروری برمیخورید.
برای رفعش متد find رو با findOrFail عوض کنید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟