Laravel嵌套路由路径

时间:2018-08-20 16:33:57

标签: laravel

这是我的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>

错误: 缺少[路由:报告] [URI:站点/ {site_id} / report / {report_id}]所需的参数。 (查看:/home/vagrant/apps/reporting-tool/resources/views/newsite.blade.php)

您知道如何解决此问题吗?

其他信息:我有两个不同的表,分别是站点和报告。

1 个答案:

答案 0 :(得分:1)

route帮助器的第二个参数应包含具有两个路由变量的数组:

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