2013-08-18 64 views
1

我想做一些事情,我不知道它是否可行。laravel 4 - 同一控制器功能上的两条路线

这里是我的routes.php文件

Route::get('mockups/user/skills/{skill}', '[email protected]'); 
Route::get('mockups/user/tours/{tour}', '[email protected]'); 
Route::get('mockups/user', '[email protected]'); 

和我MockupsController @用户功能

public function user($skill=null,$tour=null){ 
    if($tour ==null && $skill != null) 
     return View::make('demo/mockups/user/public',array('skill'=>$skill)); 
    if($tour!=null && $skill ==null) 
     return View::make('demo/mockups/user/public',array('tour'=>$tour)); 
    return View::make('demo/mockups/user/public'); 

} 

,如果我得到的/mockups/user/tours/tour1网址,控制器调用demo/mockups/user/public视图不发送$tour变量。如何使它工作?

编辑

public function user($skill=null,$tour=null){ 
    echo var_dump($skill); 
    echo var_dump($tour); 
    die(); 
    if($tour ==null && $skill != null) 
     return View::make('demo/mockups/user/public',array('skill'=>$skill)); 
    if($tour!=null && $skill ==null) 
     return View::make('demo/mockups/user/public',array('tour'=>$tour)); 
    return View::make('demo/mockups/user/public'); 

} 

显示

string(5) "tour1" NULL 

回答

2

我不明白为什么你在做这么复杂。为什么不只是做

Route::get('mockups/user/skills/{skill}', '[email protected]'); 
Route::get('mockups/user/tours/{tour}', '[email protected]'); 
Route::get('mockups/user', '[email protected]'); 

public function skills($skill) 
{ 
    return View::make('demo/mockups/user/public',array('skill'=>$skill)); 
} 

public function tours($tour) 
{ 
    return View::make('demo/mockups/user/public',array('tour'=>$tour)); 
} 

public function user() 
{ 
    return View::make('demo/mockups/user/public'); 
} 
+0

,因为我想MockupsController @旅游是所有旅游的列表... –

+0

调用任何你想要的 - tourlist(),usertours() - 点是你应该逻辑分成3个控制器功能。 – Laurence

相关问题