将多个参数传递给Laravel 5中的控制器

Cam*_*ott 20 php laravel blade laravel-5

在我的应用程序中,用户可以向其他用户提醒事件邀请.为此,我需要传递事件的ID和要邀请的用户.

在我的路线文件中,我有:

Route::get('events/{id}/remind', [
'as' => 'remindHelper', 'uses' => 'EventsController@remindHelper']);
Run Code Online (Sandbox Code Playgroud)

在我看来,我有:

{!!link_to_route('remindHelper', 'Remind User', $parameters = array($eventid = $event->id, $userid = $invitee->id) )!!}
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我有:

    public function remindHelper($eventid, $userid)
{
    $event = Events::findOrFail($eventid);
    $user = User::findOrFail($userid);
    $invitees = $this->user->friendsOfMine;
    $invited = $event->helpers;
    $groups = $this->user->groupOwner()->get();
    return view('events.invite_groups', compact('event', 'invitees', 'invited', 'groups'));
}
Run Code Online (Sandbox Code Playgroud)

但是,当我点击该路线时,我收到以下错误:

Missing argument 2 for App\Http\Controllers\EventsController::remindHelper()
Run Code Online (Sandbox Code Playgroud)

我确定我的视图中存在格式错误,但我无法对其进行诊断.有没有更有效的方法将多个参数传递给控制器​​?

Art*_*cos 45

定义此路线时:

Route::get('events/{id}/remind', [
'as' => 'remindHelper', 'uses' => 'EventsController@remindHelper']);
Run Code Online (Sandbox Code Playgroud)

您说将单个URI参数传递给该方法.

尝试传递两个参数,例如:

Route::get('events/{event}/remind/{user}', [
'as' => 'remindHelper', 'uses' => 'EventsController@remindHelper']);
Run Code Online (Sandbox Code Playgroud)

视图:

route('remindHelper',['event'=>$eventId,'user'=>$userId]);
Run Code Online (Sandbox Code Playgroud)


San*_*lla 5

路线

Route::get('warden/building/{buildingId}/employee/{employeeId}',[
    'uses'=>'WardenController@deleteWarden',
    'as'=>'delete-warden'
]);
Run Code Online (Sandbox Code Playgroud)

看法

<a href="{{route('delete-warden',[$building->id])}}"></a>
Run Code Online (Sandbox Code Playgroud)

控制器

public function deleteWarden($buildingId,$employeeId){
    $building = Building::find($buildingId);
    $building->employees()->detach($employeeId);
    return redirect('warden/assign/'.$buildingId)->with('message','Warden Detached successfully');

}
Run Code Online (Sandbox Code Playgroud)