<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Ticket extends Model { // use HasFactory; public static $ticket_statuses = ['PENDING','ANSWERED','CLOSED']; public function customer(){ return $this->belongsTo(Customer::class); } public function user(){ return $this->belongsTo(User::class); } public function subTickets(){ return $this->hasMany(Ticket::class,'parent_id','id')->orderBy('id'); } public function evaluations(){ return Evaluation::where(function ($query) { $query->whereNull('evaluationable_type') ->whereNull('evaluationable_id'); })->orWhere(function ($query) { $query->where('evaluationable_type', Ticket::class) ->whereNull('evaluationable_id'); })->orWhere(function ($query ) { $query->where('evaluationable_type', Ticket::class) ->where('evaluationable_id',$this->id); })->get(); } }