Deux Models dans un Controller (Methodes Edit & Update)
Bonjour,
Pour faire simple, j'ai deux tables qui sont liées, la première s'intitule series, elle possède 3 champs, id, name, fk_mark.
La seconde entité, se nomme marks, elle a 2 champs, id, name_mark.
Mon but est de crée un CRUD, mais j'aimerais me focaliser sur l'UPDATE. Lorsque l'utilisateur cliquera sur la rubrique series dans l'application et qu'il souhaitera éditer un enregistrement, deux champs devront figurer le premier est le name et la fk_mark (clef étrangère de la table marks, donc on récupère le name_mark en liste déroulante).
On part du principe que ma pk et fk a bien été relié et qu'il y a des enregistrements qui ont déjà été encodés dans le phpmyadmin.
Voici comment est représenté mes formulaires
1) Aperçu de l'enregistrement
https://nsa40.casimages.com/img/2019...2170117173.png
2) Saisie de la modification
https://nsa40.casimages.com/img/2019...1728727356.png
3) Mise à jour de l'enregistrement
https://nsa40.casimages.com/img/2019...2180994619.png
Donc en gros, mon système d'édite à l'air de fonctionner, mais maintenant j'aimerais récupérer la fk_mark en liste de déroulante... :mrgreen:
Je suis vraiment bloqué...
Ma première question est-ce que je dois faire appel à mon model Mark dans mon SerieController ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| public function edit($id)
{
$series = Serie::find($id);
return view('admin.series.edit', compact('series'));
}
public function update(Request $request, $id)
{
$request->validate([
'name' => 'required',
'fk_mark' => 'required'
]);
$series = Serie::find($id);
$series->name = $request->get('name');
$series->fk_mark = $request->get('fk_mark');
$series->save();
return redirect()->route('series.index')
->with('success', 'updated successfully');
} |
Ma seconde question, avez-vous une idée de comment je dois créer ma liste déroulante dans ma vue series.edit?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <form class="panel-body" action="{{route('series.update',$series->id)}}" method="POST">
<input name="_method" type="hidden" value="PATCH">
@csrf
<fieldset class="form-group">
<label for="form-group-input-1">Name</label>
<input type="text" name="name" class="form-control" id="form-group-input-1" value="{{$series->name}}">
</fieldset>
<fieldset class="form-group">
<label for="form-group-input-1">Name</label>
<input type="text" name="fk_mark" class="form-control" id="form-group-input-1" value="{{$series->fk_mark}}">
</fieldset>
<button type="submit" class="btn btn-primary pull-right">MAJ</button>
</form> |