belongsTo(User::class, 'user_id', 'id'); } public function customer() { return $this->belongsTo(Customer::class, 'customer_id', 'id'); } public function address() { return $this->belongsTo(Address::class, 'address_id', 'id'); } public function vouchers() { return $this->morphMany(Voucher::class,'reference_used'); } public function shipping() { return $this->hasOne(TransactionShipping::class); } public function location() { return $this->belongsTo(Location::class, 'location_id', 'id'); } public function detailTransaction() { return $this->hasMany(TransactionDetail::class, 'transaction_id', 'id'); } public function details() { return $this->hasMany(TransactionDetail::class, 'transaction_id', 'id'); } public function xendits() { return $this->hasMany(TransactionPayment::class, 'transaction_id', 'id') ->where("method_type",XenditLink::class); } public function payments() { return $this->hasMany(TransactionPayment::class, 'transaction_id', 'id'); } public function statuses() { return $this->hasMany(TransactionStatus::class, 'transaction_id', 'id'); } public function invoice() { return $this->belongsTo(PosInvoice::class, 'invoice_id', 'id'); } public function getStatusTitleAttribute() { return __('order.status.'.strtolower($this->attributes['status'])); } }