CareMonth.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace App\Models;
  3. # use Illuminate\Database\Eloquent\Model;
  4. use Illuminate\Support\Collection;
  5. class CareMonth extends Model
  6. {
  7. protected $table = 'care_month';
  8. public function patient(){
  9. return $this->hasOne(Client::class, 'id', 'client_id');
  10. }
  11. public function mcp(){
  12. return $this->hasOne(Pro::class, 'id', 'mcp_pro_id');
  13. }
  14. public function cmPro(){
  15. return $this->hasOne(Pro::class, 'id', 'cm_pro_id');
  16. }
  17. public function rmmPro(){
  18. return $this->hasOne(Pro::class, 'id', 'rmm_pro_id');
  19. }
  20. public function rmePro(){
  21. return $this->hasOne(Pro::class, 'id', 'rme_pro_id');
  22. }
  23. public function entries() {
  24. return $this->hasMany(CareMonthEntry::class, 'care_month_id', 'id');
  25. }
  26. public function bills() {
  27. return $this->hasMany(Bill::class, 'care_month_id', 'id');
  28. }
  29. public function getBillsOfType($_type) {
  30. $bills = $this->bills;
  31. $targetBills = new Collection();
  32. foreach ($bills as $bill) {
  33. if($bill->cm_or_rm === $_type) {
  34. $targetBills->add($bill);
  35. }
  36. }
  37. return $targetBills;
  38. }
  39. public function rmBill(){
  40. return $this->hasOne(Bill::class, 'id', 'rm_bill_id');
  41. }
  42. }