user(); $projects = Project::skip(0)->take(3)->get(); if ($request->ajax()) { $data = DB::connection('nodejsDB')->table('projects') ->select('projects.id', 'projects.title', DB::raw('COUNT(submissions.id) as submission_count')) ->leftJoin('submissions', function ($join) use ($user) { $join->on('projects.id', '=', 'submissions.project_id') ->where('submissions.user_id', '=', $user->id); }) ->groupBy('projects.id'); return Datatables::of($data) ->addIndexColumn() ->addColumn('title', function ($row) { $title_button = '' . $row->title . ''; return $title_button; }) ->addColumn('submission_count', function ($row) { $submission_count = $row->submission_count ?? 0; $text = $submission_count > 0 ? 'Submitted' : 'No Submission'; $span_color = $submission_count > 0 ? 'green' : 'gray'; $span = '' . ucfirst($text) . ''; return $span; }) ->rawColumns(['title', 'submission_count']) ->make(true); } return view('nodejs.dashboard.index', compact('projects')); } }