'array', ]; public function user() { return $this->belongsTo(User::class, 'user_id'); } //是否可以退款 public function canRefund() { $canRefund = true; $isRefund = false; $order = Order::where('user_id', $this->user_id)->where('type', 'activity')->where('type_id', $this->activity_id)->where('pay_status', 'PAID')->first(); if (empty($order)) { $canRefund = false; return compact('canRefund', 'isRefund'); }elseif ($order && $order->price == 0) { $canRefund = false; } $refund_order = RefundOrder::where('user_id', $this->user_id)->where('type', 'activity')->where('trade_no', $order->trade_no)->first(); $isRefund = $refund_order?true:false; return compact('canRefund', 'isRefund'); } public function activityOrder() { $order = Order::where('type', 'activity')->where('user_id', $this->user_id)->where('type_id', $this->activity_id)->where('pay_status', 'PAID')->orderBy('id', 'desc')->first(); if(!empty($order)){ $order->from_user = ''; if(!empty($order->from_openid)){ $from_user_id = Wechat::where('openid', $order->from_openid)->value('user_id'); if(!empty($from_user_id)){ $from_user = User::select('id', 'name','nickname')->where('id', $from_user_id)->first()->toArray(); $order->from_user = !empty($from_user) ? $from_user: ''; } } } return $order; } public function refundOrder(){ $activityOrder = $this->activityOrder(); $order = RefundOrder::where('type', 'activity')->where('user_id', $this->user_id)->where('trade_no', $activityOrder->trade_no)->first(); return $order; } }