मैं स्क्रीन पर उत्पादों के एक सेट को स्टोर और प्रिंट करने के लिए लैरावेल का उपयोग कर रहा हूं।

नीचे मैं नियंत्रक और दृश्य का कोड दिखाऊंगा।

मेरे पास नियंत्रक है, जो दृश्य को 'उत्पाद' कहता है।

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)

गलत क्या है?

0
Siqueira 29 फरवरी 2020, 20:05
अपने कंट्रोलर में रिटर्न स्टेटमेंट से पहले dd($prods) को कॉल करें और चेक करें कि यह वेरिएबल खाली नहीं है
 – 
akbar
29 फरवरी 2020, 20:11

1 उत्तर

आपको क्वेरी निष्पादित करने की आवश्यकता है।

$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();
0
Darryl E. Clarke 29 फरवरी 2020, 20:12