orderid = Helper::orderid(config('aslong_order.order_orderid.length'), config('aslong_order.order_orderid.prefix')); }); self::updated(function ($model) { $model->logs()->create([ 'user' => self::detectUser(), 'status' => $model->getOriginal('status', '0000') . '|' . $model->status, 'state' => $model->getOriginal('state') . '|' . $model->state, ]); }); } /** * 侦测当前操作用户 * @Author: * @Date:2018-10-26T14:29:52+0800 * @return Auth */ public static function detectUser() { return Auth::user() ?: Auth::guard(config('aslong_order.admin_guard'))->user(); } /** * 关联所属用户 * @Author: * @Date:2018-10-19T14:05:42+0800 * @return User */ public function user() { return $this->belongsTo(config('aslong_order.user_model'))->withDefault(); } /** * 订单详情 * @Author: * @Date:2018-10-19T10:35:55+0800 * @return OrderDetail */ public function details() { return $this->hasMany(OrderDetail::class); } public function detail() { return $this->hasOne(OrderDetail::class); } /** * 订单日志 * @Author: * @Date:2018-10-19T10:36:11+0800 * @return OrderLog */ public function logs() { return $this->hasMany(OrderLog::class); } public function payment() { return $this->hasOne(OrderPayment::class)->whereNotNull('transaction_id')->orderBy('id', 'desc')->withDefault(); } }