Problem with Datatables in Laravel 5.2

0

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');
    
asked by anonymous 13.10.2016 / 20:36

1 answer

0

The problem is that you have to go to the app.blade.php folder (where the head and body is to put the links and scripts) and put the .js and .css files there. I had done this but the problem is that the javascript has to stay above any other script and, in my case, it was down there.

    
13.10.2016 / 22:09