J'ai une configuration de test qui implique de nombreuses relations. Ce que j'essaye de faire est de rediriger le formulaire de mise à jour d'étudiant à la vue de grille parentale. Je souhaite afficher les enregistrements parent des étudiants associés uniquement dans la vue Grille des parents.Yii2 - Données filtrées en grille Voir
par exemple requête mysql pour montrer l'enregistrement lié est comme ceci:
SELECT s.id, s.name, p.id, p.name
FROM `students` s, parents p, student_parent sp
WHERE s.id = sp.student_id
AND p.id = sp.parent_id
AND s.id =102
et dans le contrôleur je pourrais trouver le même dossier comme celui-ci quand on utilise les données de l'étudiant avec l'id de 102
$model2 = Students_Parents::find()
->where(['student_id' => $model->id])
->all();
mon code de redirection dans le contrôleur que je suis en train de faire est:
if(isset($_POST['parents'])){
return $this->redirect(['parents/index','id'=>$model2]);
}
ici, le formulaire redirige correctement, mais aucun filtre n'est appliqué. Comment puis-je incorporer la requête dans la redirection afin que j'obtienne les données liées uniquement dans GridView.
Merci
Dans 'return $ this-> redirect ([ 'les parents/index', 'id' => $ model2]); '- quelle est la valeur de' $ model2'? Est-ce un nombre entier? –
@KunalDethe - Oui c'est, c'est la valeur de l'ID – Joshi