Doctrine Symfony2学说
我尝试使用Doctrine Symfony2学说,doctrine,symfony,Doctrine,Symfony,我尝试使用 $position = $repository->findBy( array('id' => $profileId,'datum' => '10.07.2011'), array('timestamp', 'DESC') ); 数据库看起来像 id haveInCircles inOtherCircles datum timestamp 1 24 14 11.07.2011 1310403840 1 20 10 10.
$position = $repository->findBy(
array('id' => $profileId,'datum' => '10.07.2011'),
array('timestamp', 'DESC')
);
数据库看起来像
id haveInCircles inOtherCircles datum timestamp
1 24 14 11.07.2011 1310403840
1 20 10 10.07.2011 1310317440
1 10 5 09.07.2011 1310317440
1 25 17 12.07.2011 1310468838
我得到的结果总是最后一天的数据进入数据库。在本例中为“12.07.2011”。如果“datum”的数据库字段是datetime,请尝试使用:2011-07-10格式:-)
将varchar用于日期可能是最糟糕的方法。将基准字段更改为date或datetime,相应地更改模型,使doctine字段为date,然后执行如下操作:
$position = $repository->findBy(
array('id' => $profileId,'datum' => new Datetime('2011-07-10')),
array('timestamp' => 'DESC')
);
简要介绍我建议回顾的模式实践:
我同意其他人的看法,即您应该将字段更改为Datetime格式,但是如果您在开发人员模式下使用Symfony2,您可以检查与您的ORM查询生成器相对应的SQL日志(DB查询),从中您可能知道您的查询生成器有什么问题该字段的数据类型是什么(在您的实体中)数据库varchar(40)和实体STRING中的列(在数据库中)是表的主键?很明显,他没有将日期作为datetime字段,条令会用其他格式刷新它。它实际上应该是
数组('timestamp'=>'DESC')
,请参阅