CasperSecurity
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Spatie\Activitylog\LogOptions;
use Spatie\Activitylog\Traits\LogsActivity;
class CandidateRegistration extends Model
{
use HasFactory,SoftDeletes;
protected $guarded=[];
use LogsActivity;
public function getActivitylogOptions(): LogOptions
{
return LogOptions::defaults()
->logAll()
->useLogName('system')
->setDescriptionForEvent(fn(string $eventName) => "This model has been {$eventName}");
}
public static function search($search)
{
return empty($search) ? static::query()
: static::query()
->where('full_name', 'like', '%' . $search . '%');
//->orWhere('country_code', 'like', '%' . $search . '%');
}
public function getAddress()
{
return $this->hasOne(CandidateAddress::class, 'candidate_id');
}
public function getEducation()
{
return $this->hasOne(CandidateEducation::class, 'candidate_id');
}
public function getWorkExperience()
{
return $this->hasOne(CandidateWorkExperience::class, 'candidate_id');
}
public function getCompanyBenefits()
{
return $this->hasOne(CandidateCompBenifits::class, 'candidate_id');
}
}