Очень много одиночных запросов на index странице. Как исправить?

У меня есть стандартная index страница с таблицей. Там может быть выведено много данных из связанных таблиц, например:

[
    'attribute' => 'responsible_id',
    'value' => function($model) {
        return $model->responsible->name ?? '';
    },
    'filter' => $data['headTypes']
],
[
    'attribute' => 'owner_id',
    'value' => function($model) {
        return $model->owner->name ?? '';
    },
    'filter' => $data['headTypes']
],

При таком варианте в профайлере вижу очень много запросов по типу:

SELECT * FROM "directory"."head_type" o WHERE "id"=1
SELECT * FROM "directory"."head_type" r WHERE "id"=1
SELECT * FROM "directory"."head_type" m WHERE "id"=2
SELECT * FROM "directory"."head_type" n WHERE "id"=3
SELECT * FROM "directory"."head_type" i WHERE "id"=1
SELECT * FROM "directory"."head_type" d WHERE "id"=2

Это норма? Или как-то можно сделать правильное что-то, что я не знаю?


метод index

 public function actionIndex() {
        $searchModel = new ElementSearch();
        $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
        $headTypes = HeadType::find()->select(['id', 'name'])->asArray()->all();
    
        return $this->render('index', [
            'searchModel' => $searchModel,
            'dataProvider' => $dataProvider,
            'data' => ['headTypes' => $headTypes]
        ]);
    }

Ответы (0 шт):