BelongsTo( Booking::class, 'booking_id', 'id'); } /** * @return MorphMany */ public function documents(): morphMany { return $this->morphMany(Document::class, 'owner'); } /** * @return BelongsTo */ public function currency(): BelongsTo { return $this->BelongsTo(Currency::class, 'currency_id', 'id'); } /** * @return BelongsTo */ public function original_currency(): BelongsTo { return $this->BelongsTo(Currency::class, 'original_currency_id', 'id'); } /** * @return HasMany */ public function transactionDetails(): HasMany { return $this->HasMany(TransactionDetail::class, 'transaction_id', 'id'); } public function convert_original_amount() { if($this->booking()->first()->fix_currency_id !== 1) { $currency_rate = $this->currency()->first()->rates()->where('payment_method_type', $this->payment_method)->first(); return number_format($this->original_amount / $currency_rate->selling, 2); } return $this->original_amount; } }