当前位置: 首页>>代码示例>>PHP>>正文


PHP OrderQuery::getOrderStats方法代码示例

本文整理汇总了PHP中Thelia\Model\OrderQuery::getOrderStats方法的典型用法代码示例。如果您正苦于以下问题:PHP OrderQuery::getOrderStats方法的具体用法?PHP OrderQuery::getOrderStats怎么用?PHP OrderQuery::getOrderStats使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Thelia\Model\OrderQuery的用法示例。


在下文中一共展示了OrderQuery::getOrderStats方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: statsAccess

 /**
  * Provides access to sales statistics
  *
  * @param  array $params
  * @param  \Smarty $smarty
  * @return string the value of the requested attribute
  */
 public function statsAccess($params, $smarty)
 {
     if (false === array_key_exists("key", $params)) {
         throw new \InvalidArgumentException(sprintf("missing key attribute in stats access function"));
     }
     if (false === array_key_exists("startDate", $params) || $params['startDate'] === '') {
         throw new \InvalidArgumentException(sprintf("missing startDate attribute in stats access function"));
     }
     if (false === array_key_exists("endDate", $params) || $params['endDate'] === '') {
         throw new \InvalidArgumentException(sprintf("missing endDate attribute in stats access function"));
     }
     if (false !== array_key_exists("includeShipping", $params) && $params['includeShipping'] == 'false') {
         $includeShipping = false;
     } else {
         $includeShipping = true;
     }
     if ($params['startDate'] == 'today') {
         $startDate = new \DateTime();
         $startDate->setTime(0, 0, 0);
     } elseif ($params['startDate'] == 'yesterday') {
         $startDate = new \DateTime();
         $startDate->setTime(0, 0, 0);
         $startDate->modify('-1 day');
     } elseif ($params['startDate'] == 'this_month') {
         $startDate = new \DateTime();
         $startDate->modify('first day of this month');
         $startDate->setTime(0, 0, 0);
     } elseif ($params['startDate'] == 'last_month') {
         $startDate = new \DateTime();
         $startDate->modify('first day of last month');
         $startDate->setTime(0, 0, 0);
     } elseif ($params['startDate'] == 'this_year') {
         $startDate = new \DateTime();
         $startDate->modify('first day of January this year');
         $startDate->setTime(0, 0, 0);
     } elseif ($params['startDate'] == 'last_year') {
         $startDate = new \DateTime();
         $startDate->modify('first day of January last year');
         $startDate->setTime(0, 0, 0);
     } else {
         try {
             $startDate = new \DateTime($params['startDate']);
         } catch (\Exception $e) {
             throw new \InvalidArgumentException(sprintf("invalid startDate attribute '%s' in stats access function", $params['startDate']));
         }
     }
     if ($params['endDate'] == 'today') {
         $endDate = new \DateTime();
         $endDate->setTime(0, 0, 0);
     } elseif ($params['endDate'] == 'yesterday') {
         $endDate = new \DateTime();
         $endDate->setTime(0, 0, 0);
         $endDate->modify('-1 day');
     } elseif ($params['endDate'] == 'this_month') {
         $endDate = new \DateTime();
         $endDate->modify('last day of this month');
         $endDate->setTime(0, 0, 0);
     } elseif ($params['endDate'] == 'last_month') {
         $endDate = new \DateTime();
         $endDate->modify('last day of last month');
         $endDate->setTime(0, 0, 0);
     } elseif ($params['endDate'] == 'this_year') {
         $endDate = new \DateTime();
         $endDate->modify('last day of December this year');
         $endDate->setTime(0, 0, 0);
     } elseif ($params['endDate'] == 'last_year') {
         $endDate = new \DateTime();
         $endDate->modify('last day of December last year');
         $endDate->setTime(0, 0, 0);
     } else {
         try {
             $endDate = new \DateTime($params['endDate']);
         } catch (\Exception $e) {
             throw new \InvalidArgumentException(sprintf("invalid endDate attribute '%s' in stats access function", $params['endDate']));
         }
     }
     switch ($params['key']) {
         case 'sales':
             return OrderQuery::getSaleStats($startDate, $endDate, $includeShipping);
             break;
         case 'orders':
             return OrderQuery::getOrderStats($startDate, $endDate, array(1, 2, 3, 4));
             break;
     }
     throw new \InvalidArgumentException(sprintf("invalid key attribute '%s' in stats access function", $params['key']));
 }
开发者ID:vigourouxjulien,项目名称:thelia,代码行数:93,代码来源:DataAccessFunctions.php


注:本文中的Thelia\Model\OrderQuery::getOrderStats方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。