161  /  380
Справочник

Класс коллекции

Просмотров: 25480
Дата последнего изменения: 27.10.2020
Татьяна Старкова
Сложность урока:
4 уровень - сложно, требуется сосредоточиться, внимание деталям и точному следованию инструкции.
1
2
3
4
5
Недоступно в лицензиях:
Ограничений нет

Действует абсолютно та же логика с префиксом EO_, что и у Объектов. У каждой сущности свой класс Коллекции, унаследованный от Bitrix\Main\ORM\Objectify\Collection. Для сущности Book по умолчанию он будет иметь вид EO_Book_Collection. Чтобы задать свой класс, нужно создать наследника этого класса и обозначить его в классе Table сущности:

//Файл bitrix/modules/main/lib/test/typography/books.php

namespace Bitrix\Main\Test\Typography;

class Books extends EO_Book_Collection
{
}
//Файл bitrix/modules/main/lib/test/typography/booktable.php

namespace Bitrix\Main\Test\Typography;

class BookTable extends Bitrix\Main\ORM\Data\DataManager
{
	public static function getCollectionClass()
	{
		return Books::class;
	}
	//...
}

Теперь метод fetchCollection будет возвращать коллекцию Bitrix\Main\Test\Typography\Books объектов класса Bitrix\Main\Test\Typography\Book. Аннотации позволят IDE давать подсказки, облегчая работу разработчика.



7
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии