DiscountEntitiesTable::getRow()
Сигнатура
public static getRow(array<string|int, mixed> $parameters) : array<string|int, mixed>|null
Описание
Возвращает одну строку (или null) по параметрам для getList()
Параметры
$parameters
array<string|int, mixed>
Возвращаемое значение
array<string|int, mixed>|null
Как применяется в DiscountEntitiesTable
DiscountEntitiesTable::getRow() — метод класса \Bitrix\Sale\Internals\DiscountEntitiesTable модуля «Интернет-магазин». Это ORM-сущность D7 (наследник DataManager): строки читаются как объекты EO_DiscountEntities, наборы — как EO_DiscountEntities_Collection. Метод достаётся DiscountEntitiesTable от DataManager::getRow: поведение общее для всех сущностей, а данные, поля и классы — свои.
Короткая запись getList() для одной строки DiscountEntitiesTable: тот же массив параметров, но сразу возвращается массив полей или null, если ничего не найдено.
use Bitrix\Main\Loader;
use Bitrix\Sale\Internals\DiscountEntitiesTable;
Loader::includeModule('sale');
$row = DiscountEntitiesTable::getRow([
'select' => ['ID', 'DISCOUNT_ID', 'MODULE_ID'],
'filter' => ['>ID' => 0],
'order' => ['ID' => 'DESC'],
]);
if ($row === null) {
// записи нет
}Поля сущности DiscountEntitiesTable
| Поле | Тип | Свойства |
|---|---|---|
ID | int | обязательное |
DISCOUNT_ID | int | обязательное |
MODULE_ID | string(50) | обязательное |
ENTITY | string(255) | обязательное |
FIELD_ENTITY | string(255) | обязательное |
FIELD_TABLE | string(255) | обязательное |
Список — из описания класса в исходном коде; точный состав в вашей версии вернёт DiscountEntitiesTable::getEntity()->getFields().
Собственные методы DiscountEntitiesTable
deleteByDiscount()Удаляет список сущностей по скидке.getByDiscount()Возвращает сущности по списку скидок.updateByDiscount()Обновляет список сущностей по скидке.validateEntity()Возвращает валидаторы для поля ENTITY.validateFieldEntity()Возвращает валидаторы для поля FIELD_ENTITY.validateFieldTable()Возвращает валидаторы для поля FIELD_TABLE.validateModuleId()Возвращает валидаторы для поля MODULE_ID.
getRow() есть и у других классов модуля «Интернет-магазин»: CashboxRestHandlerTable, DeliveryRestHandlerTable, DiscountCouponTable, DiscountGroupTable, DiscountModuleTable, DiscountTable, EntityLabelTable, PayableItemTable.
Исходный файл: source/sale/lib/internals/discountentities.php:398

