Пример #1
0
 /**
  * How much money you owe to the person.
  * @param User::id
  */
 public function owe($receiver_id)
 {
     $toPay = 0;
     $toGetPaid = 0;
     $receiver = User::findOrFail($receiver_id);
     foreach ($receiver->expenses as $expense) {
         $groupevent = Groupevent::findOrFail($expense->groupevent_id);
         if ($groupevent->participants()->contains('id', $this->id) and $groupevent->paid == false) {
             $toPay += $expense->cost / $groupevent->participants()->count();
         }
     }
     foreach ($this->expenses as $expense) {
         $groupevent = Groupevent::findOrFail($expense->groupevent_id);
         if ($groupevent->participants()->contains('id', $receiver->id) and $groupevent->paid == false) {
             $toGetPaid += $expense->cost / $groupevent->participants()->count();
         }
     }
     return $toPay - $toGetPaid;
 }