Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 具有TOP 1的子查询原则_Php_Symfony_Doctrine Orm_Zend Framework2_Doctrine - Fatal编程技术网

Php 具有TOP 1的子查询原则

Php 具有TOP 1的子查询原则,php,symfony,doctrine-orm,zend-framework2,doctrine,Php,Symfony,Doctrine Orm,Zend Framework2,Doctrine,条令报告中的子查询错误“子查询返回的值超过1”。。。 但是我使用setMaxResults(1);当我打印$qb->getDQL()时,此查询不会返回TOP 1 $qb = $this->getEm('orm_test') ->getRepository('Test\Entity\Test') ->createQueryBuilder('a'); $qb->select('a.test1') ->where('a.id = b.id')

条令报告中的子查询错误“子查询返回的值超过1”。。。 但是我使用setMaxResults(1);当我打印
$qb->getDQL()
时,此查询不会返回
TOP 1

$qb = $this->getEm('orm_test')
    ->getRepository('Test\Entity\Test')
    ->createQueryBuilder('a');

$qb->select('a.test1')
    ->where('a.id = b.id')
    ->andWhere('a.date <= :date')           
    ->setMaxResults(1);

$qb->setParameters(array(
                           'date' => '2014-07-01'
    ));
$qb=$this->getEm('orm_test'))
->getRepository('Test\Entity\Test')
->createQueryBuilder(“a”);
$qb->select('a.test1')
->其中('a.id=b.id')
->andWhere('a.date=('.$qb->getDql()。'))
$qb2->设置参数(数组)(
“日期”=>“2014-07-01”
));
这是一个仅用于绘制我的问题的示例,事实是我的
$qb->getDql()
作为子查询放置时不返回值

我删除了->setMaxResults(1)并更改为->选择(max('a.test1'))…我解决了问题。我删除了->setMaxResults(1)并更改为->选择(max('a.test1'))…我解决了问题。
$qb2 = $this->getEm('orm_test')
    ->getRepository('Test\Entity\Test2')
    ->createQueryBuilder('b');

$qb2->select('b.test1')
    ->where('a.date <= :date')
    ->andWhere('a.date >= (' . $qb->getDql() . ')')

$qb2->setParameters(array(
                           'date' => '2014-07-01'
    ));