本文整理汇总了PHP中DbQuery::groupby方法的典型用法代码示例。如果您正苦于以下问题:PHP DbQuery::groupby方法的具体用法?PHP DbQuery::groupby怎么用?PHP DbQuery::groupby使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DbQuery
的用法示例。
在下文中一共展示了DbQuery::groupby方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getCartRulesDB
public function getCartRulesDB()
{
$req = new DbQuery();
$req->select('cart_rule.id_cart_rule, cart_rule.code, cart_rule.description, cart_cart_rule.id_cart as used_on_id_cart');
$req->from('cart_rule', 'cart_rule');
$req->leftJoin('cart_cart_rule', 'cart_cart_rule', 'cart_cart_rule.id_cart_rule = cart_rule.id_cart_rule');
$req->where('cart_rule.code != ""');
$req->groupby('cart_rule.id_cart_rule');
$req->orderBy('used_on_id_cart DESC');
$cart_rules = Db::getInstance()->executeS($req, true, false);
if (_PS_MODE_DEV_) {
echo '<!-- OK getCartRulesDB -->';
}
return $cart_rules;
}
示例2: getCustomersSmsRequest
public static function getCustomersSmsRequest($campaign_id, $checked_langs, $checked_groups, $checked_campaign_active, $checked_products, $checked_categories, $limit = 0, &$list_total = null)
{
$sql_calc_found = is_null($list_total) ? '' : 'SQL_CALC_FOUND_ROWS ';
$req = new DbQuery();
$req->select($sql_calc_found . (int) $campaign_id . ' as campaign_id, address.phone_mobile as target,
address.phone_mobile as col_0, customer.lastname as col_1, customer.firstname as col_2,address.postcode as col_3,
address.city as col_4, \'prestashop\' as source');
$req->from('customer', 'customer');
$req->leftJoin('customer_group', 'customer_group', 'customer_group.id_customer = customer.id_customer');
$req->leftJoin('guest', 'guest', 'guest.id_customer = customer.id_customer');
$req->leftJoin('connections', 'connections', 'connections.id_guest = guest.id_guest');
$req->innerJoin('address', 'address', 'address.id_customer = customer.id_customer AND address.phone_mobile <> \'\'');
$req->leftJoin('country', 'country', 'address.id_country = country.id_country');
$where = array();
$where[] = 'address.phone_mobile IS NOT NULL AND address.phone_mobile <> \'\'';
if (!empty($checked_langs)) {
$where[] = 'customer.id_lang IN(' . implode(', ', array_map('intval', $checked_langs)) . ')';
}
if (!empty($checked_groups)) {
$where[] = 'customer_group.id_group IN(' . implode(', ', array_map('intval', $checked_groups)) . ')';
}
if ($checked_campaign_active) {
$where[] = 'customer.active = 1';
}
if (!empty($checked_products) || !empty($checked_categories)) {
$where_products_categories = array();
$req->leftJoin('cart', 'cart', 'cart.id_customer = customer.id_customer');
$req->leftJoin('cart_product', 'cart_product', 'cart_product.id_cart = cart.id_cart');
if (!empty($checked_products)) {
$where_products_categories[] = 'cart_product.id_product IN(' . implode(', ', array_map('intval', $checked_products)) . ')';
}
if (!empty($checked_categories)) {
$req->leftJoin('category_product', 'category_product', 'category_product.id_product = cart_product.id_product');
$where_products_categories[] = 'category_product.id_category IN(' . implode(', ', array_map('intval', $checked_categories)) . ')';
}
$where[] = implode(' OR ', $where_products_categories);
}
$req->where(implode(' AND ', $where));
$req->orderby('customer.id_customer');
$req->groupby('customer.id_customer');
$limit = (int) $limit;
if ($limit) {
$req->limit($limit);
}
return $req;
}