Dúvida - Como verificar se um registro já existe no banco de dados (pelo nome)

219 views
Skip to first unread message

Bruno Rijo

unread,
Aug 29, 2014, 9:31:16 AM8/29/14
to cakep...@googlegroups.com
Olá pessoal,
td bem?

Ao inserir um novo produto banco de dados preciso verificar se ele já existe, filtrando pelo nome.
fiz um método para fazer esta verificação, mas não funciona e não consigo encontrar um jeito que dar certo.

Este é um pequeno gerenciador de estoques que estou fazendo para praticar, meu objetivo é verificar se já existe pelo nome, e caso exista apenas atualizar o campo Qtdd.

Alguém pode me ajudar ??

Seguem em anexo o MVC


ProdutosController.php.php
Produto.php.php
listar.ctp

Otavio Augusto

unread,
Aug 29, 2014, 10:05:39 AM8/29/14
to cakep...@googlegroups.com
No seu controller vc chama o VerificarNome mas não existeo
VerificarNome no seu controller
No seu model existe o VerifcarNome mas não chama o mesmo. No
controller vc poderia chamar o verificar nome do mesmo jeito que que o
chama o save do model.

Mas uma maneira melhor de fazer isto que vc quer é criar um método
salvarVerificado no model pro exemplo e dentro deste método vc chama o
verificarNome e toma a decisão de salvar ou atualizar um registro.


Agora se o campo é livre para digitar nome dos produtos não é uma boa
ideia deixar isto automático por que as pessoas digitam errado ou usam
ç abreviações diferentes de um operador ou outro.
Se vc ta importando de uma NFe use o código do fornecedor + código do
produto do fornecedor como chave para verificar se já existe o
produto daquele fornecedor e exiba uma tela a mais que mostre a ação a
ser realizada e com opções de corrigir possíveis inconsistências .

Caso não seja de NFe deixe uma select para que o operador possa
escolher o produto ja cadastrado ou na mesma tela ou campo conseguir
digitar um novo ( pode ser um campo com autoComplete ).

Alguns processos é bom ter um pouco de interferência humana para
evitar problemas e dor de cabeça futura.
> --
> --
> CakePHP Tuga (cakephp-pt)
>
> Utilize http://bin.cakephp.org para códigos
> Cookbook: http://book.cakephp.org
>
> Website do CakePHP: http://cakephp.org/
> Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT
> ---
> Recebeu esta mensagem porque subscreveu ao grupo "CakePHP Tuga" do Grupos do
> Google.
> Para anular a subscrição deste grupo e parar de receber emails do mesmo,
> envie um email para cakephp-pt+...@googlegroups.com.
> Para publicar uma mensagem neste grupo, envie um email para
> cakep...@googlegroups.com.
> Visite este grupo em http://groups.google.com/group/cakephp-pt.
> Para mais opções, visite https://groups.google.com/d/optout.



--
Otavio Augusto
---------------------
Consultor de TI
Citius Tecnologia
31 37761866
31 88651242
http://www.citiustecnologia.com.br

Bruno Rijo

unread,
Aug 29, 2014, 10:43:10 AM8/29/14
to cakep...@googlegroups.com
Oi Otávio

Mto obrigado por sua resposta!
consegui resolver colocando a seguinte sintaxe dentro do método salvar

$produto = $this-> Produto-> findByNome('nome do produto');
if($produto)
{
// produto existe
} else
{
//produto não existe
}

Mesmo assim mto Obg! ^^
Reply all
Reply to author
Forward
0 new messages