Я пытаюсь создать собственный dataProvider из идентификатора профессора (идентификатора учителя). На моем сайте размещена информация об учителях, курсах, оценках и т. Д. Для школ.
модель ER
Пользователь Alumno (ученик) увидит сетку своих преподавателей длякаждый курс, в котором он зарегистрирован, поэтому я пытаюсь вернуть эту информацию в dataProvider.
Сначала я спрашиваю, является ли пользователь выпускником.
Затем я ищу Asignaturas,Alumno зарегистрирован в.
С этой информацией я ищу профессоров, которые обучают этот Курсос, чтобы вернуть его идентификаторы как dataProvider, поэтому я сделал цикл foreach.
Что мне нужно, так этомассив идентификаторов Profesores, чтобы я мог отображать имена профессоров в виде сетки. Фактический код запрашивает последний идентификатор Profesor в dataProvider.
public function actionIndex()
{
$this->layout = 'main';
$searchModel = new ProfesorSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
if(User::isUserAlumno(Yii::$app->user->identity->id)){
$alumno = Alumno::find()->where(['id_usuario' => Yii::$app->user->identity->id])->one();
$asignaturas = Asignatura::find()->where(['id_curso' => $alumno->id_curso])->all();
foreach ($asignaturas as $asignatura){
$dataProvider = new ActiveDataProvider([
'query' => Profesor::find()->where(['id' => $asignatura->id_profesor])
]);
}
}
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
Любая помощь будет признательна.