2015-08-07 2 views
0

У меня есть вопрос о маршрутизации в Laravel 5.1Подобный маршрут на Laravel 5,1

вот мой маршрут Код

Route::get('/class-list/{date?}', array('as'=>'class.list', 'uses'=>'[email protected]')); 
Route::get('/class-list/{studio_url}/{date?}', array('as'=>'studio.class.list', 'uses'=>'[email protected]'));' 

и вот мой контроллер

public function classlist($date) 
{ 
    echo $date; 
} 

Могу ли я получить доступ к localhost/class-list/2015-08-08 и localhost/class-list/beefit/2015-08-08 на такой же контроллер? Является ли это возможным? (Дата является обязательным)

Потому что теперь, когда я получить доступ к localhost/class-list/beefit/2015-08-08 он будет показывать beefit .. Я хочу, чтобы это показать 2015-08-08 же, когда я получить доступ к localhost/class-list/2015-08-08

+0

Если вы хотите использовать тот же метод, что параметры слишком сопрягать от маршрута и способа – Arlind

ответ

1

Вы используете две функции для одного маршрута, вы должны разделить его как так

Route::get('/class-list/{date?}', array('as'=>'class.list', 'uses'=>'[email protected]')); 
Route::get('/class-list/{studio_url}/{date?}', array('as'=>'studio.class.list', 'uses'=>'[email protected]')); 

контроллер

public function classlist($date) 
{ 
    echo $date; 
} 

public function classlist2($studio_url, $date) 
{ 
    echo $date; 
} 

Обратите внимание, что я изменил ClassController @ classlist до ClassController @ classlist2
Слово после @ является именем функции внутри контроллера.

Надеется, что это помогает

+0

это возможно, если я до сих пор использую только один контроллер? – xuweisen

+0

@xuweisen Да, конечно! Вы можете использовать многие функции внутри одного контроллера. – Szenis

+0

oops, неправильный ввод текста. Я имею в виду все еще использовать только одну функцию x_x .. извините – xuweisen