Here is my data table query
funciton.
/**
* @param ProjectTimeLog $model
* @return \Illuminate\Database\Eloquent\Builder
*/
public function query(ProjectDailyStandup $model)
{
$request = $this->request();
$projectId = $request->projectId;
$employee = $request->employee;
$taskId = $request->taskId;
$approved = $request->approved;
$invoice = $request->invoice;
$model = $model->with('user', 'user.employeeDetail', 'user.employeeDetail.designation', 'user.session', 'project', 'task');
$model = $model->join('users', 'users.id', '=', 'project_time_logs.user_id')
->join('employee_details', 'users.id', '=', 'employee_details.user_id')
->leftJoin('designations', 'employee_details.designation_id', '=', 'designations.id')
->leftJoin('tasks', 'tasks.id', '=', 'project_time_logs.task_id')
->leftJoin('projects', 'projects.id', '=', 'project_time_logs.project_id');
$model = $model->select('project_time_logs.id','project_time_logs.project_id','project_time_logs.start_time', 'project_time_logs.end_time', 'project_time_logs.total_hours', 'project_time_logs.total_minutes', 'project_time_logs.memo', 'project_time_logs.user_id', 'project_time_logs.project_id', 'project_time_logs.task_id', 'users.name', 'users.image', 'project_time_logs.hourly_rate', 'project_time_logs.earnings', 'project_time_logs.approved', 'tasks.heading','tasks.due_date', 'projects.project_name', 'designations.name as designation_name', 'project_time_logs.added_by','project_time_logs.flag as flagId');
if ($request->startDate !== null && $request->startDate != 'null' && $request->startDate != '') {
$startDate = Carbon::createFromFormat($this->global->date_format, $request->startDate)->toDateString();
if (!is_null($startDate)) {
$model->where(DB::raw('DATE(project_time_logs.`start_time`)'), '>=', $startDate);
}
}
if ($request->endDate !== null && $request->endDate != 'null' && $request->endDate != '') {
$endDate = Carbon::createFromFormat($this->global->date_format, $request->endDate)->toDateString();
if (!is_null($endDate)) {
$model->where(function ($query) use ($endDate) {
$query->where(DB::raw('DATE(project_time_logs.`end_time`)'), '<=', $endDate);
});
}
}
if (!is_null($employee) && $employee !== 'all') {
$model->where('project_time_logs.user_id', $employee);
}
if (!is_null($projectId) && $projectId !== 'all') {
$model->where('project_time_logs.project_id', '=', $projectId);
}
if (!is_null($taskId) && $taskId !== 'all') {
$model->where('project_time_logs.task_id', '=', $taskId);
}
if (!is_null($approved) && $approved !== 'all') {
if ($approved == 2) {
$model->whereNull('project_time_logs.end_time');
}
else {
$model->where('project_time_logs.approved', '=', $approved);
}
}
if (!is_null($invoice) && $invoice !== 'all') {
if ($invoice == 0) {
$model->whereNull('project_time_logs.invoice_id');
}
else if ($invoice == 1) {
$model->whereNotNull('project_time_logs.invoice_id');
}
}
if ($request->searchText != '') {
$model->where(function ($query) {
$query->where('tasks.heading', 'like', '%' . request('searchText') . '%')
->orWhere('project_time_logs.memo', 'like', '%' . request('searchText') . '%')
->orWhere('projects.project_name', 'like', '%' . request('searchText') . '%');
});
};
if ($this->viewTimelogPermission == 'added') {
$model->where('project_time_logs.added_by', user()->id);
}
if ($this->viewTimelogPermission == 'owned') {
$model->where(function ($q) {
$q->where('project_time_logs.user_id', '=', user()->id);
if (in_array('client', user_roles())) {
$q->orWhere('projects.client_id', '=', user()->id);
}
});
}
if ($this->viewTimelogPermission == 'both') {
$model->where(function ($q) {
$q->where('project_time_logs.user_id', '=', user()->id);
$q->orWhere('project_time_logs.added_by', '=', user()->id);
if (in_array('client', user_roles())) {
$q->orWhere('projects.client_id', '=', user()->id);
}
});
}
return $model;
}
It is giving me this error
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'project_time_logs.user_id' in 'on clause' (SQL: select count(*) as aggregate from `project_daily_standups` inner join `users` on `users`.`id` = `project_time_logs`.`user_id` inner join `employee_details` on `users`.`id` = `employee_details`.`user_id` left join `designations` on `employee_details`.`designation_id` = `designations`.`id` left join `project_time_logs` on `project_time_logs`.`user_id` = `users`.`id` left join `tasks` on `tasks`.`id` = `project_time_logs`.`task_id` left join `projects` on `projects`.`id` = `project_time_logs`.`project_id`)
Please help
I was expecting a working data table