where('refund_id', $refund)->first(); $log = is_null($log) ? new self() : $log; $log->fill([ 'refund_id' => $refund->id, 'order_id' => $refund->order->id, 'refund_type' => $refund->refund_type, 'order_goods_id' => $orderGoods['id'], 'send_num' => $orderGoods['total'], 'refund_total' => $orderGoods['total'], 'refund_price' => $orderGoods['refund_price'], ]); return $log->save(); } public static function getRefundedGoods($order_goods_id) { return self::where('order_goods_id', $order_goods_id)->join('yz_order_refund', function ($join) { $join->on('yz_order_refund.id', '=', 'yz_order_refund_goods_log.refund_id') ->where('yz_order_refund.refund_type','!=', RefundApply::REFUND_TYPE_EXCHANGE_GOODS) ->where('yz_order_refund.status', '>=', RefundApply::COMPLETE); }); } public function getGoodsIdAttribute() { return $this->orderGoods->goods_id; } public function getGoodsTitleAttribute() { return $this->orderGoods->title; } public function getGoodsOptionTitleAttribute() { return $this->orderGoods->goods_option_title; } public function getGoodsThumbAttribute() { return yz_tomedia($this->orderGoods->thumb); } public function scopePluginId(Builder $query, $pluginId = 0) { return parent::scopePluginId($query, $pluginId); // TODO: Change the autogenerated stub } public function scopeByOrderId(Builder $query, $order_id) { return $query->where('order_id', $order_id); } public function scopeByOrderGoodsId(Builder $query, $order_goods_id) { return $query->where('order_goods_id', $order_goods_id); } public function orderGoods() { return $this->hasOne(OrderGoods::class, 'id', 'order_goods_id'); } public function hasOneOrderGoods() { return $this->hasOne(OrderGoods::class, 'id', 'order_goods_id'); } public function belongsToOrderFund() { return $this->belongsTo(RefundApply::class, 'order_id', 'order_id'); } }