На Yii2 можно использовать метод select()
для выборки нескольких полей и метод distinct()
для исключения дубликатов значений, не теряя при этом остальных полей.
Приведен пример кода, который выполняет выборку с использованием distinct()
для полей field1
и field2
, при этом остальные поля сохраняются в результате:
$query = (new yiidbQuery()) ->select(['field1', 'field2']) ->distinct(true) ->from('your_table') ->all();
В этом примере мы создаем экземпляр класса Query
, затем с помощью метода select()
указываем поля field1
и field2
. Далее вызываем метод distinct(true)
, где аргумент true
указывает, что мы хотим выполнить выборку с использованием distinct
. Затем указываем имя таблицы с помощью метода from()
.
Вы можете использовать другие методы where()
, orderBy()
, limit()
и другие для дальнейшей настройки вашего запроса.
Когда вызывается метод all()
, он выполняет запрос к базе данных и возвращает результат в виде массива. Результат будет содержать только уникальные комбинации значений для полей field1
и field2
, но при этом будут сохранены все остальные поля.