Passage de plusieurs paramètres du contrôleur dans Laravel 5
Dans mon application, un utilisateur a la possibilité de rappeler un autre utilisateur au sujet d'une invitation à un événement. Pour ce faire, j'ai besoin de passer à la fois l'Id de l'événement, et de l'utilisateur d'y être invité.
Dans mon fichier de route, j'ai:
Route::get('events/{id}/remind', [
'as' => 'remindHelper', 'uses' => 'EventsController@remindHelper']);
De mon point de vue, j'ai:
{!!link_to_route('remindHelper', 'Remind User', $parameters = array($eventid = $event->id, $userid = $invitee->id) )!!}
Dans mon contrôleur, j'ai:
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'));
}
Cependant, lorsque j'ai pris cette route, je reçois l'erreur suivante:
Missing argument 2 for App\Http\Controllers\EventsController::remindHelper()
Je suis sûr que j'ai une erreur de mise en forme de mon point de vue, mais j'ai été incapable de le diagnostiquer. Est-il un moyen plus efficace de passer plusieurs arguments à un contrôleur?
Pouvez-vous nous montrer votre définition de la route?
Bien sûr, j'ai mis à jour la question d'origine.
Bien sûr, j'ai mis à jour la question d'origine.
OriginalL'auteur Cameron Scott | 2015-07-28
Vous devez vous connecter pour publier un commentaire.
Lorsque vous définissez cette route:
Vous dire qu'un seul URI argument sera transmis à la méthode.
Essayer de passer les deux arguments, comme par exemple:
Vue:
OriginalL'auteur
Route :
Vue :
Contrôleur:
OriginalL'auteur
Aller à votre contrôleur et écrire du code comme suit:
OriginalL'auteur