Post 未删除,服务器错误 500 laravel 7

Post not deleting, server error 500 in laravel 7

请问我做错了什么,Paymentdetails 拒绝删除,它的加载服务器 error.There 我的代码有问题。

这是我的控制器

public function destroy(Paymentdetail $paymentdetail)
    {
        //  dd($id);

        if(Auth::user()->role_id == '1'){
           
                $this->paymentdetails->delete($paymentdetail->id);

                event(new Deleted($paymentdetail));
            return redirect()->route('paymentdetails.index')
            ->withSuccess(__('Payment details deleted successfully.'));
           }
           else{
               return redirect()->back()
               ->withErrors(__('Sorry! You Are Not Authorized To Delete Payment Details.'));
           }
        
        
    }

index.blade

                    <a href="{{ route('paymentdetails.edit', $paymentdetail) }}"
                                class="btn btn-icon edit"
                                title="@lang('Edit Paymentdetail')"
                                data-toggle="tooltip" data-placement="top">
                                    <i class="fas fa-edit"></i>
                                </a>

                                <a href="{{ route('paymentdetails.destroy', $paymentdetail) }}"
                                class="btn btn-icon"
                                title="@lang('Delete Paymentdetail')"
                                data-toggle="tooltip"
                                data-placement="top"
                                data-method="DELETE"
                                data-confirm-title="@lang('Please Confirm')"
                                data-confirm-text="@lang('Are you sure that you want to delete this payment details?')"
                                data-confirm-delete="@lang('Yes, delete details!')">
                                    <i class="fas fa-trash"></i>
                                </a></a>
  1. 首先检查你的请求方式,应该是Get方式。

  2. 如果方法是 Get 那么它是否重定向到给定函数?

  3. 您应该调试 laravel 的 mod,这会给您正确的错误。

  4. 另一件事检查用户是否已通过身份验证?

从评论中移走了我的回答

$this->paymentdetails->delete($paymentdetail->id);

似乎设计过度且令人困惑

$paymentdetailPaymentdetail 的实例,它扩展了 Laravel Model。因为它是模型的实例 - 它知道如何在数据库中找到自己,因此您可以调用

$paymentdetail->delete();

并且实例将自行删除