Columns::getSelect()
Сигнатура
public getSelect([array<string|int, string>|null $columnIds = null ][, array<string|int, string>|null $providers = null ]) : array<string|int, string>
Описание
Один столбец может использовать несколько полей в запросе.
Необходимые столбцы также будут возвращены, даже если они не указаны в аргументах (с учётом фильтрации по провайдерам).
Все столбцы всех провайдеров:
$ormSelect = $columns->getSelect();
Фильтр по столбцам (типичное использование: показать только видимые столбцы):
$ormSelect = $columns->getSelect(
$grid->getVisibleColumnsIds()
);
Фильтр по провайдерам (например: грид содержит столбцы из разных таблиц):
$elementSelect = $columns->getSelect(null, [
\Bitrix\Iblock\Grid\Column\ElementProvider::class,
\Bitrix\Iblock\Grid\Column\ElementPropertyProvider::class,
]);
$catalogSelect = $columns->getSelect(null, [
\Bitrix\Catalog\Grid\Column\ProductProvider::class,
\Bitrix\Catalog\Grid\Column\PriceProvider::class,
]);
И оба фильтра:
$elementSelect = $columns->getSelect(
$grid->getVisibleColumnsIds(),
[
\Bitrix\Iblock\Grid\Column\ElementProvider::class,
\Bitrix\Iblock\Grid\Column\ElementPropertyProvider::class,
]
);
Параметры
$columnIds
array<string|int, string>|null
= null
$providers
array<string|int, string>|null
= null
Возвращаемое значение
array<string|int, string>
Как применяется в Columns
Columns::getSelect() — метод класса \Bitrix\Main\Grid\Column\Columns модуля «Главный модуль». Columns: Коллекции столбцов.
Метод объекта: сначала нужен экземпляр Columns.
use Bitrix\Main\Grid\Column\Columns;
/** @var Columns $object */
$result = $object->getSelect();
// $result: array<string|int, string>Другие методы Columns
count()getColumn()Столбец по id.getColumns()Столбцы.getIterator()prepareEditableColumnsValues()Возвращает только те значения, которые присутствуют в коллекции столбцов и доступны для редактирования.
getSelect() есть и у других классов модуля «Главный модуль»: Column, Query.
Исходный файл: source/main/lib/grid/column/columns.php:189

