如何在Laravel控制器方法中放置参数不是强制性的?

时间:2014-04-28 16:23:51

标签: php laravel

我想知道如何在Laravel控制器方法中放置一个参数不是必须的,因为我有这样的路线(我使用?来说它不是强制性的) ):

Route::get('/account/student/create/{student_id?}', array(
    'as' => 'account-student-create',
    'uses' => 'StudentController@getCreate'
));

我进入了我的控制器:

getCreate($student_id){...}

如果我没有填写路线中的参数,我会收到警告信息:

Missing argument 1 for StudentController::getCreate()

感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

为控制器方法声明添加默认值:

getCreate($student_id=null){...}

这样,当没有值调用方法时,$student_id将被设置为null。

答案 1 :(得分:1)

您可以使用默认值

编写函数
public function getCreate($student_id = 'defaultValue')
{
    ...
}