سلام وقتتون بخیر من دارم آپدیتمو با ایجکس مینویسم ولی نمیدونم چرا همچین ارروری دارم
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 عوض کنید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟