代码之家  ›  专栏  ›  技术社区  ›  Christian Gallarmin

Laravel嵌套路由路径

  •  -1
  • Christian Gallarmin  · 技术社区  · 8 年前

    这是我的routes.php

     use App\Site;
     use App\Report;
    
    
     Route::get('sites/{site_id}/report/{report_id}', array('as'=>'Reports'), 
       function($site_id, $report_id){ 
    
       return view('reports')->with('site_id',$site_id)  
       ->with('report_id', $report_id);
    
      });
    

    这是我的观点(reports.blade.php)

      @foreach($reports as $report)
       <tr>
        <td>{{$report->url}}</td>
        <td>{{$report->recipient}}</td>
        <td>{{$report->email_date}}</td>
        <td><a href="{{route('Reports',['site_id'=>$report->site_id], 
        ['report_id'=>$report->report_id])}}">view</a>  |
       </tr>
      @endforeach   
    </tbody>
    

    错误: 缺少[Route:Reports][URI:sites/{site\u id}/report/{report\u id}的必需参数。(视图:home/vagrant/apps/reporting tool/resources/views/newsite.blade.php)

    你知道怎么解决这个问题吗?

    附加信息

    1 回复  |  直到 8 年前
        1
  •  1
  •   Seva Kalashnikov    8 年前

    第二个参数 route helper应包含一个包含两个路由变量的数组:

    route('Reports', ['site_id' => $report->site_id, 'report_id' => $report->report_id])