Неопределенное свойство: Illuminate \ Database \ MySqlConnection - запрос содержит параметр, однако я получаю эту ошибку. Что не так - PullRequest
0 голосов
/ 29 февраля 2020

Я использую Laravel для хранения и печати набора продуктов на экране.

Ниже я покажу код контроллера и вида.

I есть контроллер, который называет представление «продукция».

public function filter(Request $request)
{

    //
    $nome = $request->input('nome');
    $prods = DB::table('produtos')->select('produtos.id AS id', 'produtos.nome as nome',
    'produtos.preco AS preco', 'produtos.numero_nf AS numero_nf', 'produtos.cc AS cc')->where('produtos.nome','=',$nome);
    return view('/produtos', compact('prods'));
}

Продуктами представления являются:

@extends('layout.app', ["current" => "produtos"])

@section('body')

<div class="container">
<div class="card-border">
    <div class="card-body">
        <h3 class="card-title">Produtos Cadastrados</h3>

<br><br>


<div class="card-body">
                    <form method="POST" action="/filtrar_produtos">
                        @csrf

                            <div class="form-group row">

                            <div style="padding-left: 15px">
                                <input style="height: 35px" id="filtro" type="filtro" class="col-md-4 text-md-right " name="filtro" required autocomplete="filtro" autofocus>
                            </div>

                                <div class="col-md-6 offset-md-4">


                                    <button style="height: 35px" type="submit" class="btn btn-primary">
                                        {{ __('Filtrar') }}
                                    </button>

                                </div>
                            </div>
                    </form>
                </div>





        <table class="table table-striped table-bordered table-hover">
                    <tr>
                        <th> Id
                        </th>
                        <th>
                            Nome
                        </th>
                        <th>
                            Número da NF
                        </th>
                        <th>
                            Preço
                        </th>
                        <th>
                            Descrição
                        </th>
                        <th>
                            Ação
                        </th>           
                    </tr>

                    @foreach($prods as $prod)
                    <tr>
                        <td> {{$prod->id}}
                        </td>
                        <td> {{$prod->nome}}
                        </td>
                        <td> {{$prod->numero_nf}}
                        </td>
                        <td> {{$prod->preco}}
                        </td>
                        <td> {{$prod->descricao}}
                        </td>
                        <td>
                            <a href="/editar_produto/{{$prod->id}}" class="btn btn-sn btn-primary">Editar</a>
                            <a href="/produto/apagar/{{$prod->id}}" class="btn btn-sn btn-danger">Apagar</a>
                        </td>
                    </tr>
                    @endforeach
            </table>
    </div>
</div>
</div>
@endsection

Полученная ошибка:

Неопределенное свойство: Illuminate \ Database \ MySqlConnection :: $ id (Представление: C: \ xampp \ htdocs \ laravel \ workflow-novo \ resources \ views \ produtos.blade. php)

Что не так?

1 Ответ

0 голосов
/ 29 февраля 2020

Вам необходимо выполнить запрос.

$prods = DB::table('produtos')->select('produtos.id AS id', 'produtos.nome as nome',
    'produtos.preco AS preco', 'produtos.numero_nf AS numero_nf', 'produtos.cc AS cc')->where('produtos.nome','=',$nome);

не возвращает никаких строк.

добавить ->get() в конец.

$prods = DB::table('produtos')->select('produtos.id AS id', 'produtos.nome as nome',
    'produtos.preco AS preco', 'produtos.numero_nf AS numero_nf', 'produtos.cc AS cc')
    ->where('produtos.nome','=',$nome)
    ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...