Collection
class Collection extends ArrayObject implements Common
Абстрактный класс для всех коллекций (+ итерируемый)
Methods
Конструктор коллекции
Установка лимита выборки
Загрузка коллекции
Установка смещения выборки
Получение количества всех элементов без учета лимита
Получение нового инстанса итератора коллекции
Количество моделей в коллекции
Получение коллекции в виде массива
Создание модели по переданным данным
Получение текущего лимита коллекции
Получение текущего смещения коллекции
Общее количество страниц при заданом лимиите на страницу
Details
at line 104
__construct(Client $client, array $fields, string $class, int $limit, int $offset)
Конструктор коллекции
at line 155
$this
setLimit(int $limit)
Установка лимита выборки
Установка/изменение лимита выборки коллекции. Вызывет перезагрузку коллекции если значение лимита изменилось
at line 206
$this
load(bool $force = false)
Загрузка коллекции
Загрузка осуществляется только после вызова зависимого метода (ленивая загрузка)
at line 261
$this
setOffset(int $offset)
Установка смещения выборки
Установка/изменение смещения выборки коллекции. Вызывет перезагрузку коллекции если значение смещения изменилось
at line 301
int
getFullCount()
Получение количества всех элементов без учета лимита
Вернет общее количество элементов необходимое, например, для вычисления постраничной выборки
Пример:
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента
$bookCollection = new BookCollection($client, [], '\Lan\Ebs\Sdk\Model\Book', 5, 100); // инициализация коллекции книг
echo $bookCollection->getFullCount(); // Вернет количество элементов без учета лимита
at line 315
CollectionIterator
getIterator()
Получение нового инстанса итератора коллекции
Итератор для реализации итерируемой коллекции
at line 345
int
count()
Количество моделей в коллекции
Фактическое число моделей в коллекции
Пример:
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента
$bookCollection = new BookCollection($client, [], '\Lan\Ebs\Sdk\Model\Book', 5, 100); // инициализация коллекции книг
echo $bookCollection>getFullCount(); // Вернет количество элементов без учета лимита
at line 381
array
getData()
Получение коллекции в виде массива
Выгрузка коллекции в массив
Пример:
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента
$bookCollection = new BookCollection($client, [], '\Lan\Ebs\Sdk\Model\Book', 1, 10); // инициализация коллекции книг
print_r($bookCollection->getData()); // Вернет количество элементов без учета лимита
at line 397
Model
reset()
Получение первой модели в коллекции
Вернет первую модель коллекции.
at line 432
Model
createModel(array $data = null)
Создание модели по переданным данным
Создает модель по ее данным
Пример:
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента
$bookCollection = new BookCollection($client, [], '\Lan\Ebs\Sdk\Model\Book', 1, 10); // инициализация коллекции книг
$bookData = [
'id' => 22445,
'name' => 'Свадьба. Сцена в одном действии',
'authors' => 'Чехов А.П.'
];
$book = $bookCollection->createModel($bookData);
at line 455
Model
end()
Получение последней модели в коллекции
Вернет полделнюю модель коллекции.
at line 467
protected Client
getClient()
Получение инстанса клиента
at line 477
int
getLimit()
Получение текущего лимита коллекции
at line 488
int
getOffset()
Получение текущего смещения коллекции
at line 499
float
getPages()
Общее количество страниц при заданом лимиите на страницу