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 AssignDepartments extends Model
{
use Hasfactory, SoftDeletes;
protected $fillable=['employee_id','effective_date','designation','role_id','team_id','manager_id','hr_id','attendance_type_id','salary_group','annual_ctc_amount','annual_cash_in_hand_amount','total_gross_amount','total_deduction_amount','net_amount','monthly_ctc_amount','difference_percentage','status'];
use LogsActivity;
public function getActivitylogOptions(): LogOptions
{
return LogOptions::defaults()
->logAll()
->useLogName('system')
->setDescriptionForEvent(fn(string $eventName) => "This data has been {$eventName}");;
}
public static function search($search)
{
return empty($search) ? static::query()
: static::query()
->where('effective_date', 'like', '%' . $search . '%')
->orWhere('designation', 'like', '%' . $search . '%' );
}
public function getEmployeeRegistration(){
return $this->belongsTo(EmployeeRegistration::class,'employee_id');
}
public function getRole(){
return $this->belongsTo(Role::class,'role_id');
}
public function getTeam(){
return $this->belongsTo(Team::class,'team_id');
}
public function getManager(){
return $this->belongsTo(EmployeeRegistration::class,'manager_id');
}
public function getAttendanceType(){
return $this->belongsTo(AttendanceType::class,'attendance_type_id');
}
}