alias = $alias; $this->join_alis = $join_alias; if (!$table) { /** @var StoreOrder $storeOrder */ $storeOrder = app()->make($this->joinModel()); $table = $storeOrder->getName(); } return parent::getModel()->join($table . ' ' . $join_alias, $alias . '.uid = ' . $join_alias . '.uid', $join)->alias($alias); } /** * 推广团队列表 * @param array $where * @param string $field * @param string $order_by * @param $page * @param $limit * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getUserSpreadCountList(array $where, string $field, string $order_by, int $page, int $limit) { $table = app()->make($this->joinModel())->getModel()->where('o.pid', 'IN', [0, -1])->group('o.uid')->field(['SUM(o.pay_price) as numberCount', 'count(o.id) as orderCount', 'o.uid', 'o.order_id']) ->where('o.is_del', 0)->where('o.is_system_del', 0)->where('o.paid', 1)->where('o.refund_status', 'IN', [0, 3])->alias('o')->fetchSql(true)->select(); return $this->getModel('(' . $table . ')')->where($where)->field($field)->order($order_by)->page($page, $limit)->select()->toArray(); } }