diff --git a/app/Classes/Modules/Bookings/Services/CalculatesBookingCurrencyAverageRate.php b/app/Classes/Modules/Bookings/Services/CalculatesBookingCurrencyAverageRate.php index 6e09b6fa..da3fe0b4 100644 --- a/app/Classes/Modules/Bookings/Services/CalculatesBookingCurrencyAverageRate.php +++ b/app/Classes/Modules/Bookings/Services/CalculatesBookingCurrencyAverageRate.php @@ -31,7 +31,7 @@ class CalculatesBookingCurrencyAverageRate } else if ($type == TransactionType::BILL) { - return $booking->transactions()->payments()->complete()->transactions->sum('original_amount') / $booking->transactions()->payments()->complete()->transactions->sum('amount'); + return $booking->bills->sum('original_amount') / $booking->bills->sum('amount'); } } diff --git a/app/Models/Booking.php b/app/Models/Booking.php index 524e0e0c..e84c77aa 100644 --- a/app/Models/Booking.php +++ b/app/Models/Booking.php @@ -9,6 +9,8 @@ use App\Scopes\CustomerBookingsScope; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Database\Eloquent\SoftDeletes; +use Staudenmeir\EloquentHasManyDeep\HasManyDeep; +use Staudenmeir\EloquentHasManyDeep\HasRelationships; /** * Class Booking @@ -24,6 +26,7 @@ use Illuminate\Database\Eloquent\SoftDeletes; */ class Booking extends AbstractModel implements Documentable, Transactionable { + use HasRelationships; use SoftDeletes; protected $table = 'bookings'; @@ -94,6 +97,14 @@ class Booking extends AbstractModel implements Documentable, Transactionable return $this->MorphMany(Transaction::class, 'owner'); } + /** + * @return hasManyDeep + */ + public function bills(): hasManyDeep + { + return $this->hasManyDeepFromRelations($this->transactions(), (new Transaction())->transactions()); + } + protected static function booted() { if (auth()->user()) {