2014-12-27 220 views
0

如何从嵌套资源触发index方法? 例如,我有路线:嵌套资源路径

Route::resource('diagrams.steps', 'DiagramStepsController'); 

我可使URL等/diagrams/1/steps/3触发show($diagramId, $stepID)。 我想获得属于图1中的所有步骤:/diagrams/1/steps

我该如何做到这一点?

+0

你所说的触发意思? '/ diagrams/1/steps'不工作吗? – lukasgeiter 2014-12-27 19:12:00

回答

2

路由定义你贴:

Route::resource('diagrams.steps', 'DiagramStepsController'); 

应该生成以下途径:

+--------+-------------------------------------------------+------------------------+--------------------------------+----------------+---------------+ 
| Domain | URI            | Name     | Action       | Before Filters | After Filters | 
+--------+-------------------------------------------------+------------------------+--------------------------------+----------------+---------------+ 
|  | GET|HEAD diagrams/{diagrams}/steps    | diagrams.steps.index | [email protected] |    |    | 
|  | GET|HEAD diagrams/{diagrams}/steps/create  | diagrams.steps.create | [email protected] |    |    | 
|  | POST diagrams/{diagrams}/steps     | diagrams.steps.store | [email protected] |    |    | 
|  | GET|HEAD diagrams/{diagrams}/steps/{steps}  | diagrams.steps.show | [email protected] |    |    | 
|  | GET|HEAD diagrams/{diagrams}/steps/{steps}/edit | diagrams.steps.edit | [email protected] |    |    | 
|  | PUT diagrams/{diagrams}/steps/{steps}   | diagrams.steps.update | [email protected] |    |    | 
|  | PATCH diagrams/{diagrams}/steps/{steps}   |      | [email protected] |    |    | 
|  | DELETE diagrams/{diagrams}/steps/{steps}  | diagrams.steps.destroy | [email protected] |    |    | 
+--------+-------------------------------------------------+------------------------+--------------------------------+----------------+---------------+ 

通知的第一个途径是diagrams/{diagrams}/steps它调用你的控制器的index方法,就是你正在请求。

+0

好的,我的代码中的索引函数有一个错误。那么如何检索与图表ID相匹配的那些步骤? – adamiscoding 2014-12-27 20:18:58

+0

我写了如下的索引方法: – adamiscoding 2014-12-28 11:22:21

0
Route::resource('diagrams.steps', 'DiagramStepsController'); 

给我GET | HEAD图/ {图} /步骤路线。 它使用参数匹配图ID:{图表}调用索引方法。 所以为了得到属于导航图,我有如下编写方法的所有步骤:

public function index($id) 
{ 
    $steps = Step::where('diagram_id', '=', $id)->get(); 

    return Response::json(
      array(
       'error' => false, 
       'steps' => $steps 
      ), 
      200 
    ); 
}