// +---------------------------------------------------------------------- namespace App\Models; /** * 订单管理-模型 * @author laravel开发员 * @since 2020/11/11 * @package App\Models */ class OrderModel extends BaseModel { // 设置数据表 protected $table = 'orders'; /** * 下单用户 * @return \Illuminate\Database\Eloquent\Relations\HasOne */ public function user() { return $this->hasOne(MemberModel::class, 'id', 'user_id') ->select(['id', 'mobile', 'nickname', 'realname', 'status']); } /** * 推荐收益用户 * @return \Illuminate\Database\Eloquent\Relations\HasOne */ public function recUser() { return $this->hasOne(MemberModel::class, 'id', 'rec_bonus_id') ->select(['id', 'mobile', 'nickname', 'realname', 'status']); } /** * 订单商品关联 * 通过 order_no 字段关联订单商品表 * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function orderGoods() { return $this->hasMany(OrderGoodsModel::class, 'order_no', 'order_no') ->with(['category']) ->leftJoin('goods_skus as b','b.id','=','orders_goods.sku_id') ->where('orders_goods.mark', 1)->select(['orders_goods.*','b.sku_name']); } /** * 店铺 * @return \Illuminate\Database\Eloquent\Relations\HasOne */ public function store() { return $this->hasOne(StoreModel::class, 'id', 'store_id') ->select(['id', 'name', 'logo']); } /** * 经手人 * @return \Illuminate\Database\Eloquent\Relations\HasOne */ public function adminUser() { return $this->hasOne(UserModel::class, 'id', 'confirm_admin_id') ->select(['id', 'nickname', 'mobile', 'realname', 'status']); } /** * 已审核 * @return \Illuminate\Database\Eloquent\Relations\HasOne */ public function confirm() { return $this->hasOne(OrderModel::class, 'goods_id', 'goods_id') ->with(['user']) ->whereIn('status', [2, 3]) ->where(['mark' => 1]) ->select(['id', 'order_no', 'goods_id', 'confirm_at', 'status']); } }