Form::model dynamique

Par Grinvald, il y a 10 ans


Bonjour,

J'utilise Laravel 5.2 et je débute avec FW.

J'ai une vue : utilisateur dans laquelle j'affiche la liste des contacts associés

@foreach ($user->contacts as $contact) <tr> <td>{{ $contact->nom }}</td> <td>{{ $contact->prenom }}</td> <td>{{ $contact->fonction }}</td> <td>{{ $contact->telephone }}</td> <td>{{ $contact->email }}</td> <td> <ul> <li><a data-id="{{ $contact->id }}" class="btn btn-inverse toggle" href="#formeditcontact"><i class="fa fa-pencil-square-o"></i></a></li> <li><a data-id="{{ $contact->id }}" data-route="deletecontact" href="javascript:;" class="btn btn-danger deletelink"><i class="fa fa-times"></i></a></li> </ul> </td> </tr> @endforeach

Lorsque je clique sur le bouton "éditer" pour un contact j'affiche un formulaire d'édition au dessus de la liste.

<a data-id="{{ $contact->id }}" class="btn btn-inverse toggle" href="#formeditcontact"><i class="fa fa-pencil-square-o"></i></a>

Ce que je cherche à faire c'est repeupler le formulaire avec les infos du contact.
J'utilise le package Form de LaravelCollective et donc je cherche à utiliser la syntaxe suivante :

Form::model($contact, array('route' => array('contact.update', $contact->id)))

Ce que je n'arrive pas à faire, c'est récupérer l'ID du contact en cours d'édition ainsi que son instance afin de passer le tout à Form::model.

Peut-être que je m'y prends mal ou que ce n'est pas la meilleure solution.

Merci à ceux qui prendront du temps pour me répondre.

3 réponses

Alexandre #lbac, il y a 10 ans

Salut, Comme ça je vois 2 options,

Soit tu récupères toutes les données de l'object $contact en JS pour mapper le formulaire caché (j'imagine), soit tu le mappes en ajax en te basant sur l'id du contact ;)

Bonne continuation :)

Grinvald, il y a 10 ans

Merci SquallX, je vais explorer ces pistes.

rash, il y a 10 ans

Si c'est sur la même page, tu dois passer par du Javascript et comme le dit SquallX il n'y a que deux façons de faire ceci et les deux comportent de l'ajax.