Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Atualizar apenas um campo da tabela

Galera, estou com o seguinte problema: NotFoundHttpException in RouteCollection.php line 145:

Estou tentando alterar apenas um campo de registro de uma tabela chama produtos de uma aplicação que estou fazendo, mas não estou conseguindo, alguém pode me ajudar?

o campo eh quantidade.

tabela produtos:
id
cor
quantidade
created_at
updated_at
referencia_id
tipodecouro_id

view: Formulario Venda

@extends('layout.principal')
@extends('layout.menu')

@section('conteudo')
@section('menu')

<style type="text/css">
    .margemRef{margin-left: 6%;}
    .centerH1{text-align: center;}
</style>

<form action="/produtos/Venda/{{$p->id}}" method="post">


    <input type="hidden" 
        name="_token" value="{{{ csrf_token() }}}" />

    <h2 class="centerH1">Venda</h2>
    <div class="container"><div class="col-xs-12 col-sm-5 col-sm-offset-4 col-md-9 col-md-offset-2  margembt"> 

        <div class="col-md-3  ">
            <label>Referencia</label>
            <select disabled="" name="referencia_id" class="form-control" >
                @foreach($r as $ref)
                @if($ref->id  ==  $p->referencia_id )
                <option selected value="{{ $ref->id }}">{{ $ref->nome_referencia }}</option>
                @else
                <option value="{{ $ref->id }}">{{ $ref->nome_referencia }}</option>
                @endif        
                @endforeach
            </select> 


        </div>


        <div class="form-group col-md-3">
            <label>Quantidade em estoque</label>
            <input  type="number" name="quantidade" class="form-control" id="quantidade" value="{{ $p->quantidade }}"/>
        </div>

        <div class="form-group col-md-3">
            <label>Quantidade vendida</label>
            <input type="text" name="quantidadeVendida" class="form-control" id="quantidadeVendida"/>
        </div>



        <div class="form-group col-md-2">
            <button type="text" class="btn btn-success btn-block margem">Alterar</button>
        </div>
    </form>
</div>





<script type="text/javascript">
    function id(el) {
        return document.getElementById( el );
    }
    function total( un, qnt ) {
        return parseFloat(un.replace(',', '.'), 10) - parseFloat(qnt.replace(',', '.'), 10);
    }
    window.onload = function() {
        id('quantidade').addEventListener('keyup', function() {
            var result = total( this.value , id('quantidadeVendida').value );
            id('total').value = String(result.toFixed(2)).formatMoney();
        });

        id('quantidadeVendida').addEventListener('keyup', function(){
            var result = total( id('quantidade').value , this.value );
            id('quantidade').value =  parseFloat(String(result.toFixed(2)).formatMoney());
        });
    }

    String.prototype.formatMoney = function() {
        var v = this;

        if(v.indexOf('.') === -1) {
            v = v.replace(/([\d]+)/, "$1,00");
        }

        v = v.replace(/([\d]+)\.([\d]{1})$/, "$1,$20");
        v = v.replace(/([\d]+)\.([\d]{2})$/, "$1,$2");
        v = v.replace(/([\d]+)([\d]{3}),([\d]{2})$/, "$1.$2,$3");

        return v;
    };
</script>
@stop
@stop

Controller: 
<?php namespace estoque\Http\Controllers;

use estoque\Produto;
use Request;
use estoque\Referencia;
use estoque\TipoDeCouro;
use estoque\Http\Requests\ProdutoRequest;

class ProdutoController extends Controller{
//metodos acima omitidos


    public function venda($id){

        $produto = Produto::find($id);
        $produto->quantidade = Request::input('quantidade');
        $produto->save();



    }
}

rota:


<?php
//rotas acima omitidas
Route::get('/produtos/buscaParaVenda/{id}', 'ProdutoController@buscaParaVenda');

Route::post('/produtos/venda/{id}', 'ProdutoController@venda');
4 respostas

Oi Danillo,

tenta colocar a rota assim

Route::post('/produtos/venda/{id}', ['uses' =>'ProdutoController@venda']);

Att,

Opa Ramon, tudo bem? Fiz isso que vc disse, so que continua com o mesmo erro! NotFoundHttpException in RouteCollection.php line 145:

solução!

Faça um teste colocando o id hardcoded la no form.

algo tipo:

"/produtos/Venda/1"

ou

"produtos/Venda/{{$p->id}}"

ou

Route::post('produtos/venda/{id}', 'ProdutoController@venda');

Deu certo, obrigado