In my application, a user has the ability to remind another user about an event invitation. To do that, I need to pass both the IDs of the event, and of the user to be invited.

In my route file, I have:

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

在我看来,我有:

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

在我的控制器中,我有:

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

However, when I hit that route, I receive the following error:

Missing argument 2 for App\Http\Controllers\EventsController::remindHelper()

我确信我的视图中有格式错误,但我一直无法诊断它.是否有更有效的方式将多个参数传递给控制器?

推荐答案

When you define this route:

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

您的意思是,一个URI参数将被传递给该方法.

Try passing the two arguments, like:

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

视图:

route('remindHelper',['event'=>$eventId,'user'=>$userId]);

Laravel相关问答推荐

Hostinger Laravel网站未显示错误

Nginx上带有SSL的Laravel混响

Livewire 3软件包开发

Laravel Eloquent查询与集合优化

Laravel Livewire 组件在刷新后不会自动刷新/重新加载

用 laravel 表单确认删除?

Twilio 查找 API 不起作用?

eloquent的搜索/自定义属性的位置

删除表后如何重新迁移laravel迁移

Laravel 判断约束违规

PHP Laravel:如何获取客户端浏览器/设备?

使用 Laravel 将两个模型合并到一个分页查询中,并带有Eager加载的关系

Laravel Eloquent - 加入表时防止覆盖值

如何在 Laravel 或 Redis 中取消排队的作业(job)

Grammar::parameterize() 必须是数组类型

在 Laravel 的数据透视表中添加 id 列有什么好处?

Laravel Eloquent模型如何从关系表中获取数据

在 laravel 的自定义路径中创建模型

在 Laravel 5 中找不到类App\Http\Controllers\admin\Auth

Laravel 4 控制器模板/Blade - 正确的方法?