of(FeriadoService::datatable()) ->filterColumn('cadastro_feriado.mes', function($query, $keyword) { $query->whereRaw("cadastro_feriado.mes = ? OR CASE WHEN cadastro_feriado.mes = 1 THEN 'JANEIRO' WHEN cadastro_feriado.mes = 2 THEN 'FEVEREIRO' WHEN cadastro_feriado.mes = 3 THEN 'MARÇO' WHEN cadastro_feriado.mes = 4 THEN 'ABRIL' WHEN cadastro_feriado.mes = 5 THEN 'MAIO' WHEN cadastro_feriado.mes = 6 THEN 'JUNHO' WHEN cadastro_feriado.mes = 7 THEN 'JULHO' WHEN cadastro_feriado.mes = 8 THEN 'AGOSTO' WHEN cadastro_feriado.mes = 9 THEN 'SETEMBRO' WHEN cadastro_feriado.mes = 10 THEN 'OUTUBRO' WHEN cadastro_feriado.mes = 11 THEN 'NOVEMBRO' WHEN cadastro_feriado.mes = 12 THEN 'DEZEMBRO' END LIKE ?", [$keyword, "%{$keyword}%"]); }) ->filterColumn('cadastro_feriado.dia', function ($query, $keyword) { $query->whereRaw("cadastro_feriado.dia like ?", ["%{$keyword}%"]); }) ->filterColumn('cadastro_feriado.ano', function ($query, $keyword) { $query->whereRaw("cadastro_feriado.ano like ?", ["%{$keyword}%"]); }) ->skipTotalRecords() ->toJson(); } public function create() { $this->auth(__FUNCTION__); return response()->json(FeriadoService::create(), Response::HTTP_CREATED); } public function store(Request $request) { $this->auth(__FUNCTION__); return response()->json(FeriadoService::store($request), Response::HTTP_CREATED); } public function edit($id) { $this->auth(__FUNCTION__); return response()->json(FeriadoService::edit($id), Response::HTTP_OK); } public function update(Request $request, $id) { $this->auth(__FUNCTION__); return response()->json(FeriadoService::update($request, $id), Response::HTTP_NO_CONTENT); } public function destroy($id) { $this->auth(__FUNCTION__); return response()->json(FeriadoService::destroy($id), Response::HTTP_NO_CONTENT); } }