راکت

اررور آپدیت

2 پاسخ

سلام وقتتون بخیر من دارم آپدیتمو با ایجکس مینویسم ولی نمیدونم چرا همچین ارروری دارم

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');```
ثبت پرسش جدید

پاسخ‌ها

2
bardia
bardia
@mrbardia72

تخصص: Golang/Laravel

کد داخل ``` بزارید که بتونیم راهنمایی تون کنیم بهتر

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

@faezeh

مشکل از خط زیر هست:

 $update=AnsweredQuestions::find($questionId->id)->update($answerQuestion);

شما سعی دارید یه گزینه رو از مدلتون پیدا کنید و آپدیتیش کنید. خوب اگر اون گزینه پیدا نشه به همچین اروری برمی‌خورید.
برای رفعش متد find رو با findOrFail عوض کنید.

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام