FavoriteTable::checkFields()
Сигнатура
public static checkFields(Result $result, mixed $primary, array<string|int, mixed> $data) : mixed
Описание
Проверяет поля данных перед сохранением в БД. Результат хранится в объекте $result
Параметры
$result
Result
$primary
mixed
$data
array<string|int, mixed>
Возвращаемое значение
mixed
Как применяется в FavoriteTable
FavoriteTable::checkFields() — метод класса \Bitrix\Tasks\Internals\Task\FavoriteTable модуля «Задачи». Это ORM-сущность D7 (наследник DataManager): строки читаются как объекты EO_Favorite, наборы — как EO_Favorite_Collection. Метод достаётся FavoriteTable от DataManager::checkFields: поведение общее для всех сущностей, а данные, поля и классы — свои.
Проверяет данные перед записью в FavoriteTable: обязательные поля, длину, валидаторы из карты. Вызывается внутри add() и update(), ошибки попадают в их результат.
use Bitrix\Main\Loader;
use Bitrix\Tasks\Internals\Task\FavoriteTable;
Loader::includeModule('tasks');
$result = FavoriteTable::add([
'TASK_ID' => 1,
'USER_ID' => 1,
]);
foreach ($result->getErrors() as $error) {
echo $error->getMessage(), PHP_EOL; // в том числе ошибки checkFields()
}Поля сущности FavoriteTable
| Поле | Тип | Свойства |
|---|---|---|
TASK_ID | int | обязательное |
USER_ID | int | обязательное |
Список — из описания класса в исходном коде; точный состав в вашей версии вернёт FavoriteTable::getEntity()->getFields().
Собственные методы FavoriteTable
check()Проверяет, находится ли задача в избранном у конкретного (или текущего) пользователя. Эта функция НЕ…deleteByTaskId()Удаляет задачу из избранного для всех пользователей. Эта функция НЕ проверяет права доступа.deleteList()getClass()toggle()Переключает "избранность" определённой задачи для конкретного (или текущего) пользователя. Эта функция НЕ проверяет права…
checkFields() есть и у других классов модуля «Задачи»: AccessTable, DependenceTable, ElapsedTimeTable, EventTable, LabelTable, MarketingTable, MemberTable, Mesh.
Исходный файл: source/tasks/lib/internals/task/favorite.php:686

