2
respostas

Problemas ao rodar listagem do banco

Estava rodando a versão do PHP7.1 e Laravel5.0 Tive problemas e voltei a versão para o php5.6, e agora estou recebendo este erro.

Infelizmente pra quem está começando com Laravel estes erros são bem obscuros, já perdi um tempão tentando decifrar onde pode ser...

Estou buscando localhost:8000/instituicao/lista

Não faço ideia de onde pode estar o erro. Revirei o código mais de 10x.

FatalErrorException in bd8c6ddf28cc2b4b36910863aabbb052 line 40:
syntax error, unexpected ')', expecting ',' or ';'
in bd8c6ddf28cc2b4b36910863aabbb052 line 40
at FatalErrorException->__construct() in HandleExceptions.php line 131
at HandleExceptions->fatalExceptionFromError() in HandleExceptions.php line 116
at HandleExceptions->handleShutdown() in HandleExceptions.php line 0
at PhpEngine->evaluatePath() in CompilerEngine.php line 57
at CompilerEngine->get() in View.php line 142
at View->getContents() in View.php line 111
at View->renderContents() in View.php line 80
at View->render() in Response.php line 44
at Response->setContent() in Response.php line 202
at Response->__construct() in Router.php line 1198
at Router->prepareResponse() in Router.php line 702
at Router->Illuminate\Routing\{closure}() in Pipeline.php line 141
at call_user_func:{/Library/WebServer/Documents/Projetos/oqkusta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:141}() in Pipeline.php line 141
at Pipeline->Illuminate\Pipeline\{closure}() in Pipeline.php line 101
at call_user_func:{/Library/WebServer/Documents/Projetos/oqkusta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:101}() in Pipeline.php line 101
at Pipeline->then() in Router.php line 703
at Router->runRouteWithinStack() in Router.php line 670
at Router->dispatchToRoute() in Router.php line 628
at Router->dispatch() in Kernel.php line 214
at Kernel->Illuminate\Foundation\Http\{closure}() in Pipeline.php line 141
at call_user_func:{/Library/WebServer/Documents/Projetos/oqkusta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:141}() in Pipeline.php line 141
at Pipeline->Illuminate\Pipeline\{closure}() in VerifyCsrfToken.php line 43
at VerifyCsrfToken->handle() in VerifyCsrfToken.php line 17
at VerifyCsrfToken->handle() in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}() in ShareErrorsFromSession.php line 55
at ShareErrorsFromSession->handle() in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}() in StartSession.php line 61
at StartSession->handle() in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}() in AddQueuedCookiesToResponse.php line 36
at AddQueuedCookiesToResponse->handle() in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}() in EncryptCookies.php line 40
at EncryptCookies->handle() in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}() in CheckForMaintenanceMode.php line 42
at CheckForMaintenanceMode->handle() in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}() in Pipeline.php line 101
at call_user_func:{/Library/WebServer/Documents/Projetos/oqkusta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:101}() in Pipeline.php line 101
at Pipeline->then() in Kernel.php line 115
at Kernel->sendRequestThroughRouter() in Kernel.php line 84
at Kernel->handle() in index.php line 53
in server.php line 21
at {main}() in server.php line 0

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas

Oi Marcelo, fica tranquilo, é bem comum essa dificuldade no inicio, todos passamos por isso. Em relação a seu problema, vamos precisar olhar o código. Tem algum detalhe de sintaxe que você está se passando e só olhando para sabermos.

Fala, Alberto! Obrigado pela atenção. Vou colar aqui o código:

Routes.php

<?php

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', function(){
    return '<h1>OQKUSTA</h1>';
});

// rotas de logon
Route::get('/login', 'LoginController@form');
//Route::post('/login', 'LoginController@login');

// rotas das instituições
//Route::get('/instituicao/nova', 'InstituicaoController@novo');
Route::get('/instituicao/lista', 'InstituicaoController@lista');
//Route::get('/instituicao/mostraPainel', 'InstituicaoController@mostraPainel');
//Route::get('/instituicao/edita', 'InstituicaoController@edita');
//Route::get('/instituicao/remove', 'InstituicaoController@remove');



//Route::controllers([
//    'auth' => 'Auth\AuthController',
//    'password' => 'Auth\PasswordController',
//]);

InstituicaoController.php

<?php namespace oqkusta\Http\Controllers;

use Illuminate\Support\Facades\DB;
use Request;
use oqkusta\Instituicao;


class InstituicaoController extends Controller {

    public function lista(){
        // metodo melhor $instituicoes = Instituicao::all();
        $instituicoes = DB::select('select * from instituicao_geral');
        return view('/instituicao/listagem')->with('instits', $instituicoes);
    }

    public function mostraPainel(){
        $instituicaoID = Request::route('instituicao_id');
        // $instituicao = Instituicao::find($instituicaoID);
        $instituicao   = DB::select('select * from instituicao_geral where instituicao_id = ?', [$instituicaoID]);

        return view('painelInstituicao')->with('inst', $instituicao);
    }

    public function novo(){
        return view('formularioNova');
    }

    public function adiciona(){

        // $params = Request::all();
        // $instituicao = new Instituicao($params);

        $instituicao                 = new Instituicao();
        $instituicao->instituicao_id = Request::input('instituicao_id');
        $instituicao->cnpj           = Request::input('cnpj');
        $instituicao->nome_fantasia  = Request::input('nome_fantasia');
        $instituicao->contato_nome   = Request::input('contato_nome');
        $instituicao->contato_tel    = Request::input('contato_tel');
        $instituicao->contato_email  = Request::input('contato_email');
        $instituicao->save();

        // Model Instituicao cria Instituicao pegando todos os campos do request
        // e filtrando pelo array fillable
        // Instituicao::create(Request::all());
        return redirect('/instituicao/lista')->withInput();
    }

}

principal.blade.php



<html lang="pt-br">
        <head>
            <meta charset="utf-8">
            <meta http-equiv="X-UA-Compatible" content="IE=edge">
            <meta name="viewport"    content="width=device-width, initial-scale=1.0">
            <meta name="description" content="xpto">
            <meta name="author"      content="Marcelo Cabral">
            <meta name="author"      content="Luiz">
            <meta name="author"      content="Emerson">        

            <!-- jQuery -->
                <!-- (necessário também para Bootstrap JavaScript plugins)  -->
                <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
            <!-- FIM DO jQuery -->

            <!-- CSS -->
                <!-- Laravel css -->
                <link rel="stylesheet" type="text/css" href="/css/app.css">

                <!-- customizado -->
                <!-- <link rel="stylesheet" type="text/css" href="css/index.css"> -->
                <!-- <link rel="stylesheet" type="text/css" href="css/utils.css"> -->
            <!-- FIM DO CSS -->

            <title>OQKUSTA.2017 </title>
        </head>

        <body>

            <!-- Menu Superior -->
            <nav class="navbar navbar-default">
                <div class="container-fluid">

                    <div class="navbar-header">      
                      <a class="navbar-brand" href="/">XPTO</a>
                    </div>

                      <ul class="nav navbar-nav navbar-right">
                        <li>
                            <a href="/"></a>
                        </li>
                    </ul>
                </div>
            </nav>
            <!-- Fim do Menu Superior -->

            <!-- Conteúdo da Página escrita pelos arquivos filhos em Blade Framework -->
            <div class="container">
                <!-- Blade Framework. Aqui via o dinâmico de cada view -->
                @yield('conteudo')
            </div>
            <!-- Fi do Conteúdo -->

            <!-- Rodapé ainda fixo -->
            <footer class="footer">
                                <p>©OQKUSTA.2017</p>
            </footer>
            <!-- Fim do Rodapé fixo -->

        </body>
    </html>

listagem.blade.php

@extends('layout.principal')

@section('conteudo')
            <h1>Lista Geral de Instituições cadastradas</h1>

            @if(empty($instits))
                <div class="alert alert-danger" role="alert">
                      <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
                      <span class="sr-only">Error:</span>
                      Nenhuma Instituição Cadastrada
                </div>

            @else
                <div class="table-responsive">     
                    <table class="table table-striped  table-hover">    
                        <thead>
                            <tr>
                                <th>#</th>    
                                <th>CNPJ</th>
                                <th>Nome Fantasia</th>
                                <th>Contato</th>
                                <th>Telefone</th>
                                <th>E-mail</th>
                            </tr>
                        </thead>
                        <tbody>        
                            @foreach($instits as $inst)
                                <!-- Muda a cor da linha para quando a verificação da classe for verdadeira. -->
                                <!-- <tr class="{{ $inst->id_material <=1 ? 'danger' : ''}}"> -->
                                <tr>
                                    <td> {{ $inst->instituicao_id }} </td>    
                                    <td> {{ $inst->cnpj }} </td>
                                    <td> {{ $inst->nome_fantasia }} </td>
                                    <td> {{ $inst->contato_nome }} </td>
                                    <td> {{ $inst->contato_tel     }} </td>
                                    <td> {{ $inst->contato_email }} </td>
                                    <td>
                                        <div class="btn-group btn-group-xs">
                                            <a href="/instituicao/mostraPainel/{{ $inst->instituicao_id }}" title="Painel">
                                                <span class="glyphicon glyphicon-search"></span>
                                            </a>
                                            <a href="/instituicao/edita/{{ $inst->instituicao_id) }}" title="Editar">
                                                  <span class="glyphicon glyphicon-pencil"></span>
                                            </a>
                                            <a href="/instituicao/remove/{{ $inst->instituicao_id) }}" title="Remover">
                                                  <span class="glyphicon glyphicon-remove"></span>
                                            </a>
                                        </div>
                                    </td>
                                </tr>
                            @endforeach
                        </tbody>
                    </table>
                </div>
            @endif 
            <h4>
                <span class="label label-danger pull-right">
                    Um ou menos itens no estoque
                </span>
            </h4>
@stop

Instituicao.php

<?php namespace oqkusta;

use Illuminate\Database\Eloquent\Model;

class Instituicao extends Model {

    // minha tabela se chama
    protected $table = 'instituicao_geral';

    // minha tabela não contem os campos de criação e last update
    public $timestamp = false;

    /**
     * Atributos que são aceitos quando passados todos via construtor.
     *
     * @var array
     */
    protected $fillable =  array('instituicao_id', 'cnpj', 'nome_fantasia', 'contato_nome','contato_tel','contato_email');

}

Acho que foi tudo.