加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Symfony2针对输入时间进行查询的方法分析

发布时间:2021-01-24 04:06:46 所属栏目:PHP教程 来源:网络整理
导读:本篇章节讲解Symfony2针对输入时间进行查询的方法。供大家参考研究具体如下: 一般情况下:前端输入一个时间,我们一般是先将时间修改成一个时间戳 例如: 然后:如果只是时间,为防止别人传的时间是造假,需要将时间都修改成Y-m-d的形式 1. 在MyS

本篇章节讲解Symfony2针对输入时间进行查询的方法。分享给大家供大家参考,具体如下:

一般情况下:前端输入一个时间,我们一般是先将时间修改成一个时间戳

例如:

然后:如果只是时间,为防止别人传的时间是造假,需要将时间都修改成Y-m-d的形式

1. 在MySQL中的使用

$endTimestamp) { throw new Exception('时间参数错误',BaseException::ERROR_CODE_ILLEGAL_PARAMETER); } if ($status == InventoryOrder::STATUS_SUBMITTED) { $index = 'i.submitTime'; } else if ($status == InventoryOrder::STATUS_UNSUBMITTED) { $index = 'i.createTime'; } else if (empty($status)) { $index = 'i.createTime'; } else { throw new Exception('时间格式不正确',BaseException::ERROR_CODE_ILLEGAL_PARAMETER); } $sql = 'SELECT i FROM AppBundle:InventoryOrder i WHERE '; $sql .= $index; $sql .= ' BETWEEN :startDate AND :endDate '; $start = date('Y-m-d 00:00:00',$endTimestamp); $params['endDate'] = $end; $params['startDate'] = $start; if (!empty($status)) { $sql .= ' AND i.status = :status'; $params['status'] = $status; } $sql .=' ORDER By i.createTime DESC'; $query = $this->entityManager->createQuery($sql); $orderList = $query->setParameters($params)->getResult();

2. 在mongodb中的时间的输入和查询列子

在这里面其实有两个坑:

field('submit_time')->gt(new DateTime($start)) ->field('submit_time')->lt(new DateTime($end))

这里面,对于时间的查询,大于和小于,一定要传一个对象。

field('status')->equals($status);

这里面,在mongodb里面不会默认帮你识别这是一个int型,是什么类型,必须手动的传入。

$endTimestamp) { throw new Exception("参数不正确",BaseException::ERROR_CODE_ILLEGAL_PARAMETER); } $start = date('Y-m-d 00:00:00',$endTimestamp); $scanner = Order::FROM_TYPE_SCANNER; $query = $this->documentManager ->createQueryBuilder('AppBundle:Order') ->field('submit_time')->gt(new DateTime($start)) ->field('submit_time')->lt(new DateTime($end)) ->field('from_type')->equals("$scanner"); if (!empty($status) && in_array($status,array(Order::STATUS_CANCELLED,Order::STATUS_SUBMITTED))) { $status = $status + 0; $query->field('status')->equals($status); } else if (empty($status)) { $status = Order::STATUS_SUBMITTED + 0; $query->field('status')->equals($status); } else { throw new Exception("参数不正确",BaseException::ERROR_CODE_ILLEGAL_PARAMETER); } $orderList = $query->sort('create_time','DESC') ->getQuery() ->execute();

更多关于Symfony2相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》、《》及《》

希望本文所述对大家基于Symfony2框架的PHP程序设计有所帮助。

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读