ajax()) { $data = Company::with('category.category')->latest()->select('*'); if ($request->dropdownValue != null && $request->dropdownValue != 'orderby') { $where = $request->dropdownValue; $data->where('status', $where); }; if ($request->dropdownValue == 'orderby') { $data->orderBy('id', 'desc'); }; return Datatables::of($data)->addIndexColumn() ->editColumn('created_at', function ($row) { $formattedDate = $row->created_at->format('d/m/Y'); return '
' . $formattedDate . '
'; }) ->editColumn('company_logo', function ($row) { return '
'; }) ->editColumn('company_name', function ($row) { return '
' . $row->company_name . '
'; }) // ->editColumn('categories', function ($row) { // $s = ''; // foreach ($row->category as $cat) { // $s .= trim($cat->category->pluck('category_name'), '[]"') . ','; // } // return '
' . $s . '
'; // }) ->addColumn('action', function ($row) { $status = $row->status == 1 ? 'checked' : 'null'; $btn = '
'; return $btn; }) ->rawColumns(['company_logo', 'company_name', 'categories', 'created_at', 'action']) ->make(true); } } public function getCategories() { return Category::active()->pluck('category_name', 'id'); } public function getActiveCompanies() { return Company::where('status',true)->get(['id','company_name']); } public function getCompany($id) { return Company::find($id); } public function getCompanyCategory($id) { return CompanyCategory::where('companies_id', $id)->pluck('categories_id'); } public function updateStatus($request) { return Company::where('id', $request->id)->update([ 'status' => $request->status == 1 ? 0 : 1 ]); } }