Appointment.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Relations\HasOne;
  4. # use Illuminate\Database\Eloquent\Model;
  5. class Appointment extends Model
  6. {
  7. protected $table = 'appointment';
  8. public function client() {
  9. return $this->hasOne(Client::class, 'id', 'client_id');
  10. }
  11. public function pro() {
  12. return $this->hasOne(Pro::class, 'id', 'pro_id');
  13. }
  14. public function creator() {
  15. return $this->hasOne(Pro::class, 'id', 'created_by_pro_id');
  16. }
  17. public function confirmationRequests() {
  18. return $this->hasMany(AppointmentConfirmationRequest::class, 'appointment_id', 'id')
  19. ->orderBy('created_at', 'desc');
  20. }
  21. public function confirmationDecisions() {
  22. return $this->hasMany(AppointmentConfirmationDecision::class, 'appointment_id', 'id')
  23. ->orderBy('created_at', 'desc');
  24. }
  25. public function latestConfirmationDecision() {
  26. return $this->hasOne(AppointmentConfirmationDecision::class, 'id', 'latest_confirmation_decision_id');
  27. }
  28. }