Esempio n. 1
0
 /**
  * Get latest products, to use with DS Dashboard
  * @return unknown
  */
 public static function getMostSoldProducts($limit)
 {
     $db = JFactory::getDbo();
     // Create a new query object.
     $query = $db->getQuery(true);
     $query->select('SUM(' . $db->quoteName('od.quantity') . ') as total');
     $query->select($db->quoteName(array('od.productid', 'od.package_type')));
     $query->select($db->quoteName(array('p.name', 'p.price')));
     $query->from($db->quoteName('#__digicom_orders_details') . ' od');
     $query->from($db->quoteName('#__digicom_products') . ' p');
     $query->where($db->quoteName('p.id') . '= ' . $db->quoteName('od.productid'));
     $date = DigiComHelperDigiCom::getStartEndDateMonth();
     $startdate_str = $date["0"];
     $enddate_str = $date["1"];
     $query->where($db->quoteName('od.purchase_date') . ' >= ' . $db->quote($startdate_str));
     $query->where($db->quoteName('od.purchase_date') . ' < ' . $db->quote($enddate_str));
     $query->where($db->quoteName('od.published') . ' = ' . $db->quote('1'));
     $query->group($db->quoteName('od.productid'));
     $query->order($db->quoteName('total') . ' DESC');
     $query->setLimit($limit);
     // Reset the query using our newly populated query object.
     $db->setQuery($query);
     if (!($products = $db->loadObjectList())) {
         echo $db->getErrorMsg();
     }
     return $products;
 }