Есть запрос, который возвращает данные, например:
id юл. лица, юр.лицо, заказ
1 ИП Иванов 21
1 ИП Иванов 22
2 ИП Петров 33
Если передаю запрос в ActiveDataProvider, а потом вывожу все в GridView отображаются только 2 записи:
id юл. лица, юр.лицо, заказ
1 ИП Иванов 22
2 ИП Петров 33
ActiveDataProvider фильтрует псевдо-одинаковые строки.
Как это запретить? мне нужны все строки.
ActiveDataProvider
-
- Сообщения: 11
- Зарегистрирован: 2020.09.17, 08:50
Re: ActiveDataProvider
Каким образом у вас id повторяется? Если id должен быть уникальным.
-
- Сообщения: 11
- Зарегистрирован: 2020.09.17, 08:50
Re: ActiveDataProvider
id также дублируется, как и остальные данные в строках.
Может знаете как решить данную проблему?
Может знаете как решить данную проблему?
Re: ActiveDataProvider
Решить вопрос дублирования id ?AndreyKolomoets писал(а): ↑2020.10.14, 13:41 id также дублируется, как и остальные данные в строках.
Может знаете как решить данную проблему?
Или вопрос "как указать первичный ключ для столбца и сделать автоинкрементируемым его"?
Чтобы при создании записи создавался новый уникальный идентификатор записи.
Или это может id организации, а уникальный идентификатор таблицы не показан в примере?
Re: ActiveDataProvider
Как вариант, если таблицы правильно написаны, то в запросе стоит группировка по юр. лицу. Поэтому может выдавать 2 строкиAndreyKolomoets писал(а): ↑2020.10.14, 10:14 Есть запрос, который возвращает данные, например:
id юл. лица, юр.лицо, заказ
1 ИП Иванов 21
1 ИП Иванов 22
2 ИП Петров 33
Если передаю запрос в ActiveDataProvider, а потом вывожу все в GridView отображаются только 2 записи:
id юл. лица, юр.лицо, заказ
1 ИП Иванов 22
2 ИП Петров 33
ActiveDataProvider фильтрует псевдо-одинаковые строки.
Как это запретить? мне нужны все строки.
Re: ActiveDataProvider
Посмотрите в доках к провайдеру данных, раздел "принципы работы с ключами данных"
-
- Сообщения: 11
- Зарегистрирован: 2020.09.17, 08:50
Re: ActiveDataProvider
Решение следующее - Вычесляемый ключ (как по инструкции).
$dataProvider = new ActiveDataProvider([
'query' => $query,
'key' => function ($model) {
return md5($model->order);
},
'pagination' => [
'pageSize' => 50
],
]);
Но обязательно, нужно в запросе убрать из выборки поле id .
Тогда работает.
$dataProvider = new ActiveDataProvider([
'query' => $query,
'key' => function ($model) {
return md5($model->order);
},
'pagination' => [
'pageSize' => 50
],
]);
Но обязательно, нужно в запросе убрать из выборки поле id .
Тогда работает.