Всем привет!) Никак не могу разобраться с данными в dataProvider. Возможно это касается не только его, но и запросов.
Суть такая... Я использую модель
ProfileSearch в которой делаю joinWith других таблиц с необходимыми данными (город, регион ....).
$query = Profile::find();
$query = $this->getTabs($query);
$query->joinWith(['user', 'city', 'certifications', 'appointments.event'])
->leftJoin('auth_assignment','auth_assignment.user_id = profile.user_id');
По ним так же производится сортировка и фильтрация данных.
// grid filtering conditions
$query->andFilterWhere([
'id' => $this->id,
'user_id' => $this->user_id,
'date_birthday' => $this->date_birthday,
'city.id' => $this->city_id,
'gender' => $this->gender,
'category_id' => $this->category_id,
'comitet_id' => $this->comitet_id,
'user.status' => $this->status,
'auth_assignment.item_name' => $this->type,
'city.id_district' => $this->district_id,
'city.id_region' => $this->region_id,
]);
Всё это вывожу в с помощью виджета ListView используя dataProvider. После joinWith количество данных увеличилось. К примеру, пользователей в системе 100, а
$dataProvider->totalCount показывает 150. Ну это и понятно. Ведь сделали leftJoin других данных. Однако появилась другая проблема. При пагинации страниц появляются дубли пользователей.
Вопрос:
1. Как мне убрать дублирование записей?