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
]);
}
}