You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
xshop/app/Models/Ticket.php

43 lines
1.1 KiB
PHP

<?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();
}
}