3
respostas

Update do produto

eu criei um metodo salvar.. e no metodo novo sempre passo um parametro produto do tipo Produto

quando ele é nulo o form abre em branco mais se for chamado atraves do metodo alterar onde ele busca o produto pelo find id ai o objeto vai preenchido. e ai o form se preenche tambem..

ta correto?

<?php

namespace estoque\Http\Controllers;

use Illuminate\Support\Facades\DB;
use Illuminate\View\View;
use Request;
use estoque\Produto;

class ProdutoController extends Controller
{
    public function lista()
    {
        $produtos = Produto::all();
        return view('produto.listagem')->with('produtos', $produtos);
    }

    public function detalhar($id)
    {
        $produto = Produto::find($id);
        return view('produto.detalhamento')->with('produto', $produto);
    }


    public function novo(Produto $produto)
    {
        return View('produto.formulario')->with('produto', $produto);

    }

    public function salvar()
    {
        $parametros = Request::all();
        $produto = new Produto($parametros);
        if ($produto->save()) {
            return redirect()->back()->with('success', 'Produto Salvo Com Sucesso!');
        } else {
            return redirect()->back()->with('error', 'Erro ao salvar o produto!');
        }

    }

    public function inativar($id)
    {
        if ($id !== null) {
            $produto = Produto::find($id);
            $produto->delete();
        }

        return redirect()->action('ProdutoController@lista');
    }

    public function alterar($id)
    {
        $produto = Produto::find($id);
        return $this->novo($produto);
    }
}
3 respostas

Oi Valdir, tudo bom?

Olhando só o Controller parece tudo Ok, você teve algum problema com o código?

Não, queria saber se do jeito que eu fiz foi uma boa pratica de desenvolvimento, mais acabei alterando , la na view agora eu passo um @ na frente da variavel e ai não preciso mandar sempre o objeto produto pro formulario apenas quando vou alterar o registro...

Opa, em termos de boas práticas o Controller está cumprindo o papel dele sim =)

As actions estão bem desacopladas e com responsabilidades bem especificas.

Mesmo se fosse necessário repassar a variável para todas as views não teria problema. Mas legal você ter reduzido a quantidade de código =)

Abraço