Hello, I tried to use the server-side Datatables and not server-side but it does not display the datatables. I do everything according to the documentation ( link ) and in internet tutorials, but it does not work and also does not display any errors (the pages load normally) .
My Controller:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Requests\ValidarFuncRequest;
use Redirect;
use Datatables;
use App\Funcionario;
use App\Dependente;
class FuncionariosController extends Controller
{
public function index(){
$funcionarios = Funcionario::all();
return view('funcionarios.lista', ['funcionarios' => $funcionarios]);
}
public function novoForm(){
return view('funcionarios.formFuncionario');
}
public function salvarFuncionario(ValidarFuncRequest $request){
$funcionario = new Funcionario();
$funcionario->create($request->all());
\Session::flash('msg_sucesso', 'Funcionário cadastrado!');
return Redirect::to('funcionarios/novoForm');
}
public function editar($id){
$funcionario = Funcionario::findOrFail($id);
return view('funcionarios.formFuncionario', ['funcionario' => $funcionario]);
}
public function atualizar($id, ValidarFuncRequest $request){
$funcionario = Funcionario::findOrFail($id);
$funcionario -> update($request->all());
\Session::flash('msg_sucesso', 'Funcionário atualizado!');
return Redirect::to('funcionarios/'.$funcionario->id.'/editar');
}
public function listarDpt($id){
$funcionario = Funcionario::find($id);
return view('funcionarios.listaDpt', ['funcionario' => $funcionario]);
}
public function deletar($id){
try{
$funcionario = Funcionario::findOrFail($id);
$funcionario -> delete();
\Session::flash('msg_sucesso', 'Funcionário deletado com sucesso!');
} catch(\Illuminate\Database\QueryException $e){
var_dump($e->errorInfo);
\Session::flash('msg_erro', 'Funcionários com dependente(s) não podem ser deletado!');
}
return Redirect::to('funcionarios');
}
public function novoDpt($id){
$funcionario = Funcionario::findOrFail($id);
return view('funcionarios.novoDept', ['funcionario'=>$funcionario]);
}
}
My view:
@extends('layouts.app')
@section('content')
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css">
<link rel="stylesheet" href="//cdn.datatables.net/1.10.12/css/jquery.dataTables.css">
<div class="container">
<div class="row">
<div class="col-md-10 col-md-offset-1">
<div class="panel panel-default">
<div class="panel-heading">
Funcionários
<a class="pull-right" href="{{url('funcionarios/novoForm')}}">Adicionar Funcionário</a>
</div>
<div class="panel-body">
@if(Session::has("msg_sucesso"))
<div class="alert alert-success"> {{ Session::get('msg_sucesso')}} </div>
@elseif(Session::has('msg_erro'))
<div class="alert alert-danger"> {{Session::get('msg_erro')}} </div>
@endif
<table class="table table-bordered" id="meusFuncionarios">
<thead>
<tr>
<th>ID</th>
<th>Nome</th>
<th>Sexo</th>
<th>Ações</th>
</tr>
</thead>
<tbody>
@foreach($funcionarios as $funcionario)
<tr>
<td>{{$funcionario -> id}}</td>
<td>{{$funcionario -> nome}}</td>
<td>{{$funcionario -> sexo}}</td>
<td>
<a href="funcionarios/{{$funcionario -> id}}/editar" class="btn btn-default">Editar</a>
<script>
function ConfirmarDelete(){
var confirma = confirm("Deseja mesmo exluir {{$funcionario -> nome}}");
if(confirma){
return true;
} else{
return false;
}
}
</script>
{!! Form::open(['method' => 'DELETE', 'url' => 'funcionarios/'.$funcionario->id, 'style' => 'display: inline;', 'onsubmit' => 'return ConfirmarDelete()']) !!}
<button class="btn btn-default">Excluir</button>
{!! Form::close() !!}
<a href="funcionarios/{{$funcionario->id}}/listarDpt" class="btn btn-default">Dependente(s)</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<script src="//cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('#meusFuncionarios').DataTable();
});
</script>
@endsection
My rout:
<?php
Route::get('/', function () {
return view('welcome');
});
Route::auth();
Route::get('home', 'HomeController@index');
Route::get('funcionarios', 'FuncionariosController@index');
Route::get('funcionarios/novoForm', 'FuncionariosController@novoForm');
Route::get('funcionarios/{funcionario}/editar', 'FuncionariosController@editar');
Route::post('funcionarios/salvarFuncionario', 'FuncionariosController@salvarFuncionario');
Route::patch('funcionarios/{funcionario}', 'FuncionariosController@atualizar');
Route::delete('funcionarios/{funcionario}', 'FuncionariosController@deletar');
Route::get('dependentes', 'DependentesController@index');
Route::get('dependentes/formDpt', 'DependentesController@novoForm');
Route::post('dependentes/salvarDpt', 'DependentesController@salvar');
Route::delete('dependentes/{dependente}', 'DependentesController@deletar');
Route::get('dependentes/{dependente}/editarDpt', 'DependentesController@editar');
Route::patch('dependentes/{dependente}', 'DependentesController@atualizar');
Route::get('funcionarios/{funcionario}/listarDpt', 'FuncionariosController@listarDpt');
Route::get('funcionarios/{funcionario}/novoDept', 'FuncionariosController@novoDpt');
Route::get('dependentes/{funcionario}/novoForm', 'DependentesController@novoForm');
Route::get('projetos', 'ProjetosController@index');
Route::get('projetos/novoForm', 'ProjetosController@novoForm');
Route::post('projetos/salvarProjeto', 'ProjetosController@salvarProjeto');
Route::get('projetos/{projeto}/editarProjeto', 'ProjetosController@editarProjeto');
Route::patch('projetos/{projeto}', 'ProjetosController@atualizarProjeto');
Route::delete('projetos/{projeto}', 'ProjetosController@deletarProjeto');
Route::get('projetos/{projeto}/listaFunc', 'ProjetosController@listaFunc');
Route::get('projetos/{funcionario}/addFunc', 'ProjetosController@addFunc');
Route::patch('projetos/{projeto}', 'ProjetosController@addBotao');