簡體   English   中英

Laravel 7 缺少路由所需的參數

[英]Laravel 7 Missing required parameters for route

當 go 到這條路線: Talent talent/lists時,我收到以下錯誤消息

Missing required parameters for [Route: talent.ajax] [URI: {_locale}/{role}/talent/ajax]. (View: C:\laragon\www\iccn-intern\Modules\Profile\Resources\views\backOffice\talent\lists.blade.php)

我的代碼是這樣的

應用程序常量:

  const ROUTE_TALENT_AJAX = 'talent.ajax';

路線:

Route::group(['prefix' => '{role}/talent', 'middleware' => [ 'role:administrator' ]], function() {
  Route::match(['get', 'post', 'patch'], 'ajax', 'TalentController@_ajax_dt_talents')->name( AppConst::ROUTE_TALENT_AJAX );
  Route::get('lists', 'TalentController@lists')->name('talent.list');

看法:

<div class="card-header">
                <div class="d-flex align-items-center justify-content-between">
                    <h3>{{ucwords(trans('profile::talent.list.main_title'))}}</h3>
                </div>
            </div>
            <div class="card-body">
            <div class="app_customized">
                <table class="table table-bordered table-striped table-condensed app_condensed datatable-serverside" 
                    data-urlajax="{{ route( AppConst::ROUTE_TALENT_AJAX) }}" data-func-config="dtconfig_talents">
                <thead>
                <tr>
                    <th>{{ucwords(trans('profile::talent.list.name'))}}</th>
                    <th>{{ucwords(trans('profile::talent.list.phone_number'))}}</th>
                    <th>{{ucwords(trans('profile::talent.list.gender'))}}</th>
                    <th>{{ucwords(trans('profile::talent.list.option'))}}</th>
                </tr>
                </thead>

Controller:

protected function _ajax_dt_talents( Request $request ) {
        /**
         * @var User $rowUser
         */
        $rowUser = Auth::user();

        /**
         * @var Talent $rowTalent
         */
        $rowTalent = $rowUser->talent()->first();

        $datatables = new Datatables(new LaravelAdapter);

        $datatables->query("SELECT u.name, t.phone_number, t.gender  FROM talents as t JOIN users as u ON u.id = t.user_id WHERE t.id=". $rowTalent->id);


        $arrData = $datatables->generate()->toArray();
        $arrData['_timestamp'] = date('Y-m-d H:i:s');

        return response()->json($arrData);
    }

有誰知道我應該怎么做才能解決這個問題? 或者另一種顯示人才表服務器端的方式?

當你的路線看起來像這樣:

_locale}/{role}/talent/ajax

打電話時

{{ route( AppConst::ROUTE_TALENT_AJAX) }}

您至少需要 2 個參數,因此您的路線應如下所示:

{{ route( AppConst::ROUTE_TALENT_AJAX, [$local, $role]) }}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM