50 lines
1.2 KiB
PHP
50 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use App\Traits\Blameable;
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
|
|
|
class CorporateService extends Model
|
|
{
|
|
use HasFactory, SoftDeletes, Blameable;
|
|
|
|
protected $fillable = [
|
|
'corporate_id',
|
|
'service_code',
|
|
'status',
|
|
];
|
|
|
|
public function corporate()
|
|
{
|
|
return $this->belongsTo(Corporate::class);
|
|
}
|
|
|
|
public function configs()
|
|
{
|
|
return $this->hasMany(CorporateServiceConfig::class, 'corporate_service_id');
|
|
}
|
|
|
|
public function service()
|
|
{
|
|
return $this->hasOne(Service::class, 'code', 'service_code');
|
|
}
|
|
|
|
public function specialities()
|
|
{
|
|
return $this->hasMany(CorporateServiceSpeciality::class, 'corporate_service_id');
|
|
}
|
|
|
|
public function scopeFilter($query, array $filters)
|
|
{
|
|
if (!empty($filters['search'])) {
|
|
$query->where('service_code', 'LIKE', '%'.$filters['search'].'%')
|
|
->orWhereHas('service', function($service) use ($filters) {
|
|
$service->where('name', 'LIKE', '%'.$filters['search'].'%');
|
|
});
|
|
}
|
|
}
|
|
}
|