doctrine查询返回数组,而不是预期的对象

时间:2015-02-09 19:33:25

标签: php symfony doctrine-orm

我正在使用Symfony 2.6构建一个小项目。它非常简单,只有一个实体类映射到使用在Raspberry Pi上运行的python插入MySQL数据库的数据。

问题

当我运行这个简单的存储库查询时,结果集似乎正在转换为导致错误的数组(如下所示)。我不确定为什么会发生转换。

回购方法

public function getDataInRange( \DateTime $from, \DateTime $until)
{
    $query = $this->getEntityManager()->createQuery('
        select d
        from AppBundle:weatherdata d
        where d.idx > :f
        and d.idx < :u ')->setParameters(array( 'f' => $from, 'u' => $until      ));

    return $query->getResult();
}

错误

Catchable Fatal Error: Object of class DateTime could not be converted to string

数据库结构

主要主键,&#39; idx&#39;是datetime对象,其他所有内容都是double

已尝试过..

我已经尝试改变repo方法来返回getArrayResult(),这会停止错误,但我需要结果集是对象格式,因为我需要做的其他混乱数据

提前致谢。

1 个答案:

答案 0 :(得分:-1)

  1. 你最好使用BETWEEN
  2. 将DateTime转换为字符串

    $ qb-&gt; where('e.fecha BETWEEN:monday AND:sunday') - &gt; setParameter('monday',$ monday-&gt; format('Y-m-d')) - &gt; setParameter('sunday',$ sunday-&gt; format('Y-m-d'));

  3. please use the search, already answered here