В моем проекте Laravel -5.8 я разрабатываю заявление об отпуске сотрудника. В приложении в конкретный год каждый сотрудник может подать заявление на разные отпуска. когда сотрудник входит в систему, я хочу отобразить таблицу, как показано ниже, в которой показан баланс каждого типа отпуска, имя вошедшего в систему пользователя
У меня есть 3 применимые таблицы
class HrLeaveType extends Model
{
protected $table = hr_'leave_types';
protected $fillable = [
'id',
'leave_type_name',
];
public function leavetypedetail()
{
return $this->hasMany('App\Models\LeaveTypeDetail');
}
}
class HrLeaveTypeDetail extends Model
{
protected $table = 'hr_leave_type_details';
protected $fillable = [
'id',
'leave_type_id',
'employment_type_id',
'no_of_days',
];
public function leavetype()
{
return $this->belongsTo('App\Models\HrLeaveType', 'leave_type_id', 'id');
}
public function employeetype()
{
return $this->belongsTo('App\Models\HrEmployeeType', 'employee_type_id', 'id' );
}
}
class HrLeaveRequest extends Model
{
protected $table = 'hr_leave_requests';
protected $fillable = [
'id',
'employee_id',
'leave_type_id',
'leave_status',
'no_of_days',
];
public function employee()
{
return $this->belongsTo('App\Models\HrEmployee','employee_id');
}
public function leavetype()
{
return $this->belongsTo('App\Models\HrLeaveType','leave_category_id');
}
}
Как было сказано ранее, ожидаемый результат должен иметь 4 столбца (Категория выхода, Допустимый отпуск, Утвержденный отпуск, Доступен) *
Я хочу добиться такого результата
оставить баланс
Когда я пытался запустить контроллер, я получил эту ошибку:
# сообщение: «SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1055 'laravelapp. ltd.no_of_days 'отсутствует в GROUP BY (SQL: выберите lt
. leave_type_name
as leaveCategory
, `l ▶"
Я не могу группировать по' no_of_days '
Я хочу группировать только по leave_type_name и employee_id (e.id)
Как решить эту проблему?
Спасибо