你知道如何从我的createQueryBuilder获取sql吗?
My Entity / DownloadRepository.php类:
public function getLastDownload($limit)
{
$query = $this->createQueryBuilder('d');
$query->select('l.ytId, d.title, d.date, d.id, l.creator')
->from('DimiYvmBundle:Log', 'l')
->where('d.ytId = l.ytId AND l.creator = :creator')
->orderBy('l.id', 'DESC')
->groupBy('l.ytId')
->setParameter('creator', 'n')
->setMaxResults($limit);
// echo $query->getSQL(); => Doesn't work...
return $query->getQuery()->getResult();
}
谢谢大家的帮助。 最好的问候
修改
要获取sql,您必须:
echo $query->getQuery()->getSql();
全部谢谢!
答案 0 :(得分:17)
您可以从$query->getQuery()->getSQL()
获取请记住,对于参数,它会产生?而不是值。
如果要使用参数和值获取完整的SQL查询,请在浏览器中检查页面的DEV模式下的探查器工具栏。
答案 1 :(得分:4)
您需要在getSql()
对象
getQuery()
echo $query->getQuery()->getSql();