حمید محسنی
2 سال پیش توسط حمید محسنی مطرح شد
2 پاسخ

متود حذف در لاراول

سلام وقت همه دوستان بخیر سال نو رو به همتون تبریک میگم انشالله سالی پربرکت داشته باشید
دوستان من توی عملیات کراد به یه مشکلی برخورد کردم که اصلا نمیفهمم علت ز کجاست کدهامو میزارم ببینید به نظر شما باید چکارش کنم ؟
مشکلم اینه که من توی لیست نظرات سایت یه بخشی رو برای حذف دیدگاه گذاشتم وقتی با اینکه آیدی رو با جاوا اسکریپت به فرم ارسال میکنم ولی توی کنترلر توی روی DESTROY آیدی نمیاد و وقتی عمل حذف رو انجام میده بجای اینکه اون دیدگاهی که برای حذفش اقدام شده حذف بشه آخرین رکورد رو حذف میکنه من کدهارو میزارم ببینید پیدا میکنید مشکل رو؟

کد های blade

<button class="btn btn-outline-secondary" href="{{ route('comments.destroy', $comment->id) }}" onclick="destroyComment(event, {{ $comment->id }})"><i class='bx bx-trash'></i></button>  دکمه حذف در جدول//

                      <form action="{{ route('comments.destroy', $comment->id) }}" method="post" id="destroy{{ $comment->id }}">
                        @csrf
                        @method('delete')
                      </form>

<script>
        function destroyComment(event, id){
           event.preventDefault();
           const swalWithBootstrapButtons = Swal.mixin({
                customClass: {
                  confirmButton: 'btn btn-success',
                  cancelButton: 'btn btn-danger'
                },
                buttonsStyling: false
              })

              swalWithBootstrapButtons.fire({
                title: 'مطمئن هستید؟',
                text: "دیدگاه مورد نظر به طور کامل حذف خواهد شد!",
                icon: 'warning',
                showCancelButton: true,
                confirmButtonText: 'بله, حذف کن!',
                confirmButtonColor: '#009719',
                cancelButtonColor: '#ff0002',
                cancelButtonText: 'انصراف!',
                reverseButtons: true
              }).then((result) => {
                if (result.isConfirmed) {

                    document.getElementById(`destroy${id}`).submit()

                } else if (
                  /* Read more about handling dismissals below */
                  result.dismiss === Swal.DismissReason.cancel
                ) {
                  swalWithBootstrapButtons.fire(
                    'خیالت راحت باشه',
                    'دیدگاه مورد نظر هنوز حذف نشده :)',
                    'error'
                  )
                }
              })
        }

      </script>

کد های کنترلر متود حذف

    public function destroy(Request $request, Comment $comment)
    {
        dd($request->all());
        $comment->delete();

        session()->flash('status', 'دیدگاه مورد نظر حذف شد!');
        return back();
    }

dd گرفتم اینم نتیجه
 تصویر

ممنونم میشم راهنماییم کنید


ثبت پرسش جدید
رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 2 سال پیش مطرح شد
0

درود خوبی...
باید دیدگاه بر اساس شناسه حذف بشه:

$commnet= Comment::find($id);

حمید محسنی
تخصص : گرافیست
@Hamid258 1 سال پیش مطرح شد
0

سلام
با این کار تفاوتی نمیکنه چونکه من مشکلم توی بخش حذف نیست مشکل اونجاست که من دارم آیدی رو از طریق جاوا اسکریپت به فرم نتقال میدم و این مورد انجام نمیشه یعنی وقتی dd میگیرم فرم آیدی کامنت رو ارسال نمیکنه


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

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