Php 条令查询生成器~datetime
我正试图在symfony2/2中创建一个简单的聊天室 为了进行测试,我每5秒检查一次新消息,因此在我的查询中,我尝试通过获取datetime大于当前值减去5秒的所有消息来获取所有消息 我尝试按以下方式执行此操作,但它返回数据库中的所有消息,而不是过去5秒钟内发布的消息Php 条令查询生成器~datetime,php,mysql,symfony,doctrine-orm,Php,Mysql,Symfony,Doctrine Orm,我正试图在symfony2/2中创建一个简单的聊天室 为了进行测试,我每5秒检查一次新消息,因此在我的查询中,我尝试通过获取datetime大于当前值减去5秒的所有消息来获取所有消息 我尝试按以下方式执行此操作,但它返回数据库中的所有消息,而不是过去5秒钟内发布的消息 $em = $this->getDoctrine()->getManager(); $qb = $em->createQueryBuilder(); $qb->select('m')
$em = $this->getDoctrine()->getManager();
$qb = $em->createQueryBuilder();
$qb->select('m')
->from('ChatboxBundle:ChatMessage', 'm')
->where(':new > :last')
->setParameter('new', 'm.postdate' )
->setParameter('last', new \DateTime('-5 second'), \Doctrine\DBAL\Types\Type::DATETIME);
$updatedata = $qb->getQuery()->getResult();
知道我做错了什么吗?
m.postdate
是一个字段名,因此不应作为参数传入。试试这个
$qb = $em->createQueryBuilder();
$qb->select('m')
->from('ChatboxBundle:ChatMessage', 'm')
->where('m.postdate > :last')
->setParameter('last', new \DateTime('-5 second'), \Doctrine\DBAL\Types\Type::DATETIME);
$updatedata = $qb->getQuery()->getResult();
是的,很久以前就没有这个答案了,在Symfony 4.3中,我不得不使用
Types::DATETIME\u MUTABLE
,因为简单的DATETIME
已经被弃用了