Yii2 — отфильтрованные данные в виде сетки

У меня есть тестовая установка, которая включает в себя отношение многих ко многим.

Students Model
id
name

Parents Model
id
name

Students_Parents Model
student_id
parent_id

То, что я пытаюсь сделать, — это перенаправить форму обновления учащегося в представление родительской сетки. Я хочу показать связанные родительские записи учеников только в виде сетки родителей.

например, запрос MySQL, чтобы показать связанную запись, выглядит так:

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

и в контроллере я могу найти такую ​​же запись, как это, когда я использую данные студента с идентификатором 102

$model2 = Students_Parents::find()
->where(['student_id' => $model->id])
->all();

мой код перенаправления в контроллере я пытаюсь сделать это:

if(isset($_POST['parents'])){
return $this->redirect(['parents/index','id'=>$model2]);
}

Здесь форма перенаправляет правильно, но фильтр не применяется.
Как я могу включить запрос в перенаправление, чтобы получить связанные данные только в GridView.

Спасибо

0

Решение

Вы должны определить в перенаправлении имя входного фильтра в качестве ключа, например:

    $this->redirect(['parents/index','StudentSearch[id]'=>2]);
3

Другие решения

Других решений пока нет …