Measurement.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace App\Models;
  3. # use Illuminate\Database\Eloquent\Model;
  4. class Measurement extends Model
  5. {
  6. protected $table = 'measurement';
  7. public function client()
  8. {
  9. return $this->hasOne(Client::class, 'id', 'client_id');
  10. }
  11. public function numCPMEntries() {
  12. return ClientProgramMonthEntry::where('measurement_id', $this->id)->where('is_cancelled', false)->count();
  13. }
  14. public function minutesEntered($pro) {
  15. $entries = ClientProgramMonthEntry::where('measurement_id', $this->id)
  16. ->where('pro_id', $pro->id)
  17. ->where('is_cancelled', false)
  18. ->get();
  19. $minutes = 0;
  20. foreach ($entries as $entry) {
  21. $minutes += $entry->time_in_minutes;
  22. }
  23. return $minutes;
  24. }
  25. public function entriesByPro($pro) {
  26. return ClientProgramMonthEntry::where('measurement_id', $this->id)
  27. ->where('pro_id', $pro->id)
  28. ->where('is_cancelled', false)
  29. ->get();
  30. }
  31. public function childMeasurements() {
  32. return Measurement::where('parent_measurement_id', $this->id)
  33. ->where('is_removed', false)
  34. ->get();
  35. }
  36. }