Bonjour,
Je rencontre actuellement plusieurs problemes avec la creation de liaisons.
J'ai une table Article à qui on peut associer un seul et unique Questionnaire.
Ce Questionnaire est associé à une ou plusieurs Questions.
Chaque Question est associé à une Questionvaleur.
Article (1,1) => (0,n) Questionnaire (1,n) => (1,1) Questions (1,1) => (1,1) Questionvaleur
Je rencontre principalement deux soucis.
Récurération de la requette
J'avais essayé de faire mes liaisons dans mes models mais je n'arrivais pas à enchainer les method :
$article->questionnaire->question-questionvaleur;
De Article à Questionnaire la liaison etait parfaite, le Questionnaire etait bien retourné dans la requette.
Mais la liaison de Questionnaire à Question ne marche pas, les deux table ne se relient pas à la clef etrangere.
Pour palier à ça j'ai fait ma requete dans le controller comme ceci :
$article = $this->article->join('questionnaire', 'questionnaire.id', '=', 'posts.questionnaire_id')->where('posts.slug', $slug)->firstorfail();
$questions = $this->question->where('questionnaire_id', $article->questionnaire_id)->get();
foreach ($questions as $key => $question){
$questionValue = $this->questionValue->where('question_id', $question->id)->get();
$questions[$key]->values = $questionValue;
}
Récuperation des données dans le formulaire d'édition
Actuellement je n'ai aucun soucis pour remplir les champs Article et Questionnaire.
Par contre en se qui concerne les question à associer à chaque Questionnaire ainsi que les Valeur de chaque question c'est plus compliqué.
Avez vous une solution pour remplir tout les champs du form bien que les valeurs viennes de tables differentes.
J'utilise un seul et unique Form pour l'édition et la Création.
Merci pour votre aide.