Я уже вычислил разрешенные выходные дни в моем приложении Laravel -5.8, используя:
public function findLeaveCount(Request $request)
{
$userCompany = Auth::user()->company_id;
$userEmployee = Auth::user()->employee_id;
$userId = Auth::user()->id;
$employeeemptypeid = DB::table('hr_employees')->select('employment_type_id')->where('id', $userId)->first()->employment_type_id;
$leavetypeid = DB::table('hr_leave_types')->select('id')->where('company_id', $userCompany)->where('id',$request->id)->first()->id;
$authorizedleavedays = 0;
$authorizedleavedays = DB::table('hr_leave_type_details')->select('no_of_days')->where('leave_type_id', $leavetypeid)->where('employment_type_id',$employeeemptypeid)->first();
$availableleavedays = 0;
return response()->json([
'authorizedleavedays' => $authorizedleavedays->no_of_days,
'availableleavedays' => $availableleavedays->available_leave_days,
]);
}
Теперь в той же функции контроллера, что и выше (findLeaveCount), я хочу вычислить $ availableleavedays для текущего года.
У меня есть этот класс модели:
class HrLeaveRequest extends Model
{
protected $table = 'hr_leave_requests';
protected $fillable = [
'id',
'employee_id',
'leave_type_id',
'leave_day',
'commencement_date',
'resumption_date',
'leave_status',
];
public function employee()
{
return $this->belongsTo('App\Models\Hr\HrEmployee','employee_id');
}
public function leavetype()
{
return $this->belongsTo('App\Models\Hr\HrLeaveType','leave_type_id');
}
}
Доступные дни $ будут:
сумма дня отпуска для текущего года, где:
employee_id = $ userEmployee
Leave_type_id = $ Leadtypeid
Leave_status = 4
Затем вычесть результат из $ authorleleavedays
То есть
$ availableleavedays = результат выше - $ authorleavedays
Как мне добиться этого и добавить к коду, который у меня есть в:
publi c функция findLeaveCount (запрос $ запроса)
Спасибо