Added the functions to get the models connected with the booking.
This commit is contained in:
+39
-2
@@ -8,11 +8,48 @@ class Booking extends Model
|
||||
{
|
||||
public function amount()
|
||||
{
|
||||
return $this->hasMany('App\SubBooking')->amount;
|
||||
return $this->subBookings()->sum('amount');
|
||||
}
|
||||
|
||||
public function signedAmount()
|
||||
{
|
||||
return $this->amount;
|
||||
return $this->subBookings()->withSignedAmount()->get()
|
||||
->sum('signedAmount');
|
||||
}
|
||||
|
||||
public function subBookings()
|
||||
{
|
||||
return $this->hasMany('App\SubBooking');
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true, if the booking consists only of one sub-booking.
|
||||
* NOTICE: The book instance has to be loaded with the
|
||||
* ->withCount('subBookings') method to be able to access the comments
|
||||
* count.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function isSimple()
|
||||
{
|
||||
return $this->sub_bookings_count === 1;
|
||||
}
|
||||
|
||||
public function project()
|
||||
{
|
||||
if ($this->isSimple()) {
|
||||
return $this->subBookings()->first()->project();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public function accountType()
|
||||
{
|
||||
if ($this->isSimple()) {
|
||||
return $this->subBookings()->first()->accountType();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user