PHP Класс Kdyby\Doctrine\QueryObject

QueryObject inheritors are great when you're printing a data to the user, they may be used in service layer but that's not really suggested. Don't be afraid to use them in presenters $this->template->articles = $this->articlesRepository->fetch(new ArticlesQuery()); or in more complex ways $productsQuery = new ProductsQuery(); $productsQuery ->setColor('green') ->setMaxDeliveryPrice(100) ->setMaxDeliveryMinutes(75); $productsQuery->size = 'big'; $this->template->products = $this->productsRepository->fetch($productsQuery);
Автор: Filip Procházka ([email protected])
Наследование: extends Nette\Object, implements Kdyby\Persistence\Query
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
$onPostFetch array

Открытые методы

Метод Описание
__construct ( )
count ( Kdyby\Persistence\Queryable $repository, ResultSet $resultSet = NULL, Doctrine\ORM\Tools\Pagination\Paginator $paginatedQuery = NULL ) : integer
fetch ( Kdyby\Persistence\Queryable $repository, integer $hydrationMode = AbstractQuery::HYDRATE_OBJECT ) : ResultSet | array
fetchOne ( Kdyby\Persistence\Queryable $repository ) : object If You encounter a problem with the LIMIT 1 here, you should instead of fetching toMany relations just use postFetch.
getLastQuery ( ) : Doctrine\ORM\Query
postFetch ( Kdyby\Persistence\Queryable $repository, Iterator $iterator ) : void

Защищенные методы

Метод Описание
doCreateCountQuery ( Kdyby\Persistence\Queryable $repository ) : Doctrine\ORM\Query | Doctrine\ORM\QueryBuilder
doCreateQuery ( Kdyby\Persistence\Queryable $repository ) : Doctrine\ORM\Query | Doctrine\ORM\QueryBuilder
getQuery ( Kdyby\Persistence\Queryable $repository ) : Doctrine\ORM\Query

Приватные методы

Метод Описание
toQuery ( $query )

Описание методов

__construct() публичный Метод

public __construct ( )

count() публичный Метод

public count ( Kdyby\Persistence\Queryable $repository, ResultSet $resultSet = NULL, Doctrine\ORM\Tools\Pagination\Paginator $paginatedQuery = NULL ) : integer
$repository Kdyby\Persistence\Queryable
$resultSet ResultSet
$paginatedQuery Doctrine\ORM\Tools\Pagination\Paginator
Результат integer

doCreateCountQuery() защищенный Метод

protected doCreateCountQuery ( Kdyby\Persistence\Queryable $repository ) : Doctrine\ORM\Query | Doctrine\ORM\QueryBuilder
$repository Kdyby\Persistence\Queryable
Результат Doctrine\ORM\Query | Doctrine\ORM\QueryBuilder

doCreateQuery() абстрактный защищенный Метод

abstract protected doCreateQuery ( Kdyby\Persistence\Queryable $repository ) : Doctrine\ORM\Query | Doctrine\ORM\QueryBuilder
$repository Kdyby\Persistence\Queryable
Результат Doctrine\ORM\Query | Doctrine\ORM\QueryBuilder

fetch() публичный Метод

public fetch ( Kdyby\Persistence\Queryable $repository, integer $hydrationMode = AbstractQuery::HYDRATE_OBJECT ) : ResultSet | array
$repository Kdyby\Persistence\Queryable
$hydrationMode integer
Результат ResultSet | array

fetchOne() публичный Метод

And if you really really need to hack it, just override this method and remove the limit.
public fetchOne ( Kdyby\Persistence\Queryable $repository ) : object
$repository Kdyby\Persistence\Queryable
Результат object

getLastQuery() публичный Метод

public getLastQuery ( ) : Doctrine\ORM\Query
Результат Doctrine\ORM\Query

getQuery() защищенный Метод

protected getQuery ( Kdyby\Persistence\Queryable $repository ) : Doctrine\ORM\Query
$repository Kdyby\Persistence\Queryable
Результат Doctrine\ORM\Query

postFetch() публичный Метод

public postFetch ( Kdyby\Persistence\Queryable $repository, Iterator $iterator ) : void
$repository Kdyby\Persistence\Queryable
$iterator Iterator
Результат void

Описание свойств

$onPostFetch публичное свойство

public array $onPostFetch
Результат array