Log variable in Laravel

Asked

Viewed 1,190 times

2

I am registering a name in a modal, sending it to the controller and putting it in the session. When returning to the view there is nothing in the session. What am I doing wrong?

Controller

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Product;
use Illuminate\Support\Facades\Session;

class ProductsController extends Controller
{

public function index()
{
    return view('product.index');
}

public function store(Request $request)
{
    $products = $request->name;
    session()->put('products', $products);
    return redirect()->back();
}

}

View

<div class="container">
<div class="row">
    <div class="col-md-12">
        <div class="panel panel-default">
            <div class="panel-heading">Produtos</div>
            <div class="panel-body">
                <table class="table m-0" id="products-table">
                    <thead>
                        <tr>
                            <th>Produto</th>
                            <th>Quantidade</th>
                        </tr>
                    </thead>
                    <tbody class="row">
                        @if(!empty($products))
                            <tr>
                                <td>{{ $products }}</td>
                                <td><a href="#">Alterar</a></td>
                                <td><a href="#">Remover</a></td>
                            </tr>
                        @endif
                    </tbody>
                    <tfoot>
                        <tr>
                            <td colspan="5" style="text-align: left;">
                                <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">Incluir</button>
                            </td>
                        </tr>
                    </tfoot>
                </table>    
            </div>
        </div>
    </div>
</div>

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <h4 class="modal-title" id="myModalLabel">Modal title</h4>
        </div>
        <form method="post" action="{{ route('product.store') }}">
        {{ csrf_field() }}
        <div class="modal-body">
            <input type="text" class="form-control" name="name">
        </div>
        <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Fechar</button>
            <button type="submit" class="btn btn-primary">Salvar</button>
        </div>
        </form>
    </div>
</div>

1 answer

2


On the part of controller is all right to store an item in the session() That’s the way it is, but in your View, is being called as if it were a common variable, but needs to be accessed to session() to fetch this data, example:

<tbody class="row">
@if(session()->has('products'))
    <tr>
        <td>{{ session()->get('products') }}</td>
        <td><a href="#">Alterar</a></td>
        <td><a href="#">Remover</a></td>
    </tr>
@endif
</tbody>

References:

  • 1

    That’s right. Thank you.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.