本文整理汇总了PHP中Doctrine\ORM\Query::getQuery方法的典型用法代码示例。如果您正苦于以下问题:PHP Query::getQuery方法的具体用法?PHP Query::getQuery怎么用?PHP Query::getQuery使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine\ORM\Query
的用法示例。
在下文中一共展示了Query::getQuery方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getSqlCriteria
/**
* @param Query|QueryBuilder $criteria
*
* @return string (sql)
*/
protected function getSqlCriteria($criteria)
{
if ($criteria instanceof QueryBuilder) {
return $criteria->getQuery()->getSQL();
} elseif ($criteria instanceof Query) {
return $criteria->getSQL();
} else {
throw new \Exception(sprintf('Criteria must be instance of Query or QueryBuilder, instance of %s given', get_class($criteria)));
}
}
示例2: __construct
/**
* Constructor.
*
* @param Query|QueryBuilder $query
* A Doctrine ORM query or query builder.
* @param boolean $fetchJoinCollection
* Whether the query joins a collection (true by default).
* @param boolean $cache
* Use result cache (true by default).
* @param boolean $count
* Execute count query (true by default).
*/
public function __construct($query, $fetchJoinCollection = true, $cached = true, $count = true)
{
if ($count) {
$countQuery = clone $query;
$countQuery = $countQuery->select('count(e) as c')->setFirstResult(0)->setMaxResults(1)->getQuery();
$this->countQuery = $countQuery;
}
$q = $query;
if ($cached) {
$this->cache_prefix = '';
if ($query instanceof QueryBuilder) {
$q = $query->getQuery();
$entities = $query->getRootEntities();
if ($entities) {
$entity = $entities[0];
$this->cache_prefix = strtolower(substr(strrchr($entity, '\\'), 1) ?: $entity) . '-';
}
}
$q->useQueryCache(true)->useResultCache(true, 3600, $this->cache_prefix . md5($q->getDQL()));
}
parent::__construct($q, $fetchJoinCollection);
}
示例3: getQueryResults
/**
* Return the result of a query.
*
* @param \Doctrine\ORM\Query $query
*
* @return array
*/
protected function getQueryResults($query)
{
return $query->getQuery()->setHint(\Doctrine\ORM\Query::HINT_INCLUDE_META_COLUMNS, true)->getResult();
}