drupal7 addExpression+union+分页

本文介绍了使用PHP进行订单数据查询的方法,通过联合查询将单次支付与月付订单合并,并实现分页显示。详细展示了如何设置查询条件,包括用户ID、是否删除,以及如何添加自定义列来区分订单类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

global $user;
  $query_single = db_select('mp_order_singlepay', 'ms')
      ->fields('ms', array('order_id','order_time', 'article_name','total_amount','status','payment_method'));
  $query_single->condition('isdelete', 0);
  $query_single->condition('purchaser_id', $user->uid);
  $query_single->addExpression('0', 'is_single');//重点 等于增加了一列

  $query_month = db_select('mp_order_monthspay', 'mm')
      ->fields('mm', array('order_id','order_time', 'product_name','total_amount','status','payment_method'));
  $query_month->condition('isdelete', 0);
  $query_month->condition('purchaser_id', $user->uid);
  $query_month->addExpression('1', 'is_single');//重点
$query = Database::getConnection() ->select($query_single->union($query_month)) 
->fields(NULL, array('order_id','order_time', 'article_name','total_amount','status','payment_method','t')) //fields里要取出增加的自定义列名
->orderBy('order_time','DESC');

$total_rows=$query->countQuery()->execute()->fetchField();

$per_pager=5;//每页行数

$objects= $query->extend('PagerDefault')-> limit($per_pager)-> execute() -> fetchAll();

var_dump($objects);

 

 

转载于:https://www.cnblogs.com/zjfblog/p/7444474.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值