簡體   English   中英

laravel 4-同一控制器功能上的兩條路線

[英]laravel 4 - two routes on same controller function

我想做一些我不知道是否可行的事情。

這是我的routes.php

Route::get('mockups/user/skills/{skill}', 'MockupsController@user');
Route::get('mockups/user/tours/{tour}', 'MockupsController@user');
Route::get('mockups/user', 'MockupsController@user');

和我的MockupsController @ user函數

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 

我不明白你為什么要這么復雜。 為什么不做

Route::get('mockups/user/skills/{skill}', 'MockupsController@skills');
Route::get('mockups/user/tours/{tour}', 'MockupsController@tours');
Route::get('mockups/user', 'MockupsController@user');

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');
}

暫無
暫無

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

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