Laravel route返回错误404当试图将值传递给控制器函数时

huwehgph  于 2023-06-24  发布在  其他
关注(0)|答案(3)|浏览(134)

我的刀刃上有个像这样的纽扣

@can('customer_show')
                <a class = "btn btn-primary" href = "{{ route('admin.loan-applications.showCustView', $loanApplication->user_id) }}">
                    View Applicant 
                </a>
            @endcan

这是路线:

Route::get('loan-applications/{loan_application}/showCustView', 'loanApplicationsController@showCust')->name('loan-applications.showCustView');

在我的控制器里,我做了:

public function showCust(LoanApplication $loanApplication)
{
    
    
    $customerInformation = customerInfoModel::where('Cust_id', $loanApplication->user_id));
     
    return view('admin.loanApplictions.showCustView', compact(['customerInformation', 'loanApplication']));
}

我尝试从附加到customerInfoModel的数据库中获取行,其中Cust_id字段等于当前在上面的刀片中查看的贷款的loanApplication->user_id。当按钮“查看申请人”被击中时,我得到一个错误404页面。为什么会这样呢?

rryofs0p

rryofs0p1#

使用以下命令检查路由列表
php artisan route:list
//此命令将显示应用程序中的所有路由
如果你的路由没有列在那个路由列表中,请在路由文件中手动检查与你的路由具有相同URL的路由。
如果你发现改变url &使用这个命令清除缓存
php artisan optimize:clear
我找到了你对上次答复的评论。检查路由模型绑定。我想你得加一个

public function showCust( $loanApplicationCustId)
{
    
    $customerInformation = customerInfoModel::where('Cust_id', $loanApplicationCustId))->first();
     
    return view('admin.loanApplictions.showCustView', compact(['customerInformation', 'loanApplication']));
}

应该是这样的。我希望它对你有效……else分享你的项目git repo链接

flseospp

flseospp2#

我想应该是这样的:

@can('customer_show')
                <a class = "btn btn-primary" href = "{{ route('loan-applications.showCustView', $loanApplication->user_id) }}">
                    View Applicant 
                </a>
            @endcan

试试那个

xggvc2p6

xggvc2p63#

我也遇到了一个类似的问题与路由模型绑定,我无法访问特定的路由,即使它是正确定义的。经过广泛的调试,我发现问题是由丢失的头引起的。在您的请求中包含以下标头以防止404错误非常重要:

Accept: application/json
Content-Type: application/json

包含这些头可以确保将请求视为JSON请求,并且服务器知道如何正确处理和解释数据。

相关问题