select('id', 'global_order_id', 'money', 'state', 'market_id', 'created_at') ->with(['orderGoods' => function($query) { $query->select(['lanzu_order_goods.id', 'lanzu_order_goods.name', 'lanzu_order_goods.cover_img']); }]) ->with(['market' => function($query) { $query->select(['lanzu_market.id', 'lanzu_market.name', 'lanzu_market.tel']); }]) ->where(['user_id' => $userId]); switch ($tab) { case 'all': break; case 'completed': $builder->whereIn('state', OrderState::FINISH); break; case 'unpaid': $builder->where(['state' => OrderState::UNPAID]); break; case 'receiving': $builder->whereIn('state', OrderState::RECEIVING); break; case 'refund': $builder->whereIn('state', OrderState::REFUND); break; } $paginate = $builder->paginate($pagesize); $orders = $paginate->toArray(); return ['has_more_pages' => $paginate->hasMorePages(), 'orders' => $orders['data']]; } }