agora não tenho .. mas o upload acontece independente do banco de dados,
este é apenas uma das formas de armazenar o endereço da figura.

Você pode validar o MIME, tamanho, etc da figura .. e só salvar o path se
estiver tudo ok .. continue, você está no caminho certo :D


Em 15 de fevereiro de 2014 19:03, Giovanni Donda | DS interativa <
[email protected]> escreveu:

> Felipe, nesses relacionamentos e gravações, tudo está indo beleza...
>
> Mas agora, ao colocar um campo de imagem num dos cadastros, acontece o
> seguinte:
>
> 1) validação do campo imagem é externa (não consegui colocar no model ORM)
> 2) se dá erro, o upload acontece mesmo assim
>
> Existe algum formato de exemplo de cadastro com upload de imagem E COM
> VALIDAÇÃO ??
>
> Pois o formato da documentação não serve para mim, haja vista que valida
> somente um upload
> Ou explica como validar, mas um cadastro "completo" não encontrei.
>
> Poderiam me orientar uma forma de fazer isso ?
>
> Parte do código
> http://pastebin.com/KkfvnsV5
>
> a ideia seria:
> 1) se tem gid, carrega o registro e se tem imagem cadastrada, apaga
> 2) se não tem gid, vai gravar um novo registro e valida o campo da imagem
> 3) o método do _upload é o mesmo do site do kohana de exemplo de upload de
> arquivo
>
> Valeu mais uma vez pessoal
>
> -----Mensagem original-----
> De: [email protected] [mailto:[email protected]] Em
> nome
> de felipe bastos
> Enviada em: quarta-feira, 12 de fevereiro de 2014 18:09
> Para: [email protected]
> Assunto: Re: [kohana-php] Mais relacionamentos
>
> Eu prefiro trabalhar com datas ao inves de flags como esse (CHAR)
>
> mas vamos de flag .... const ACTIVE = 1;
>
> ativo not null :D basta colocar como padrão do insert 'N' ou 0 e tá
> validado
>
> try
> {
>
> ...
> $cliente->active = ! $cliente->ACTIVE;
>
> if($cliente->save()){
>
> $endereco = ORM::factory('endereco');
>
> }
> else {
> throw new Exception('Falha ao salvar o cliente'); } }
> catch(ORM_Exception..... $e) {
>
> $view->errors = $e->message();
> $this->redirect('cliente/index');
> return;
> }
>
> Se não estiver parecido com isso .. só posso ajudar se mostrar o codigo
>
> Em 12/02/14, DS interativa | PHP Grupos<[email protected]>
> escreveu:
> > assim, meu cadastro de clientes tem um campo chamado ativo = S/N e no
> > model não valido isso pois no site não tem como o cliente setar isso.
> >
> > se eu validar isso no model, eu teria que colocar um valor no post
> > injetado, resolvi então não validar no model e colocar como uma
> > validação externa (no admin) pois no site não vai validar esse campo.
> >
> > esse tipo de exceção de campos acontece algumas vezes e nesse caso em
> > si, o cliente tem um formulario para cadastro de dados, endereços,
> > imagens.
> >
> > entao eu gravo o cliente, gravo os endereços, e as imagens colocando
> > os vinculos entre eles nas suas tabelas.
> > quando dá erro, não consigo mostrar como deveria, cada erro no seu
> > campo e não consigo obter todos para cada model to falhando/errando em
> > algum lugar...mas to tentando aqui...
> >
> > o transaction ja tenho e somente comito se realmente salvar tudo além
> > de validar separadamente...
> >
> > como disse, to errando em alguma coisa ainda...mas valeu pelas
> > orientações
> >
> > Em 12/02/2014 02:57, felipe bastos escreveu:
> >>
> >> Nao entendi ...
> >>
> >> Vc deixou validacoes fora do model, no admin ta de um jeito, no site
> >> aberto ta de outro ...
> >>
> >> O usuario fez alguma besteira obvia como nao preencher o form ...
> >>
> >> E vc nao esta verificando antes de salvar?
> >>
> >> So passe adiante se estiver tudo ok ... Save() true ...
> >>
> >> A depender das suas rules, salve ou bota uma transaction commit
> >> roolback para salvar ou desfazer, se nao dever salvar parcialmente.
> >>
> >> Quem tem de validar os dados do form e vc ... Ta tudo correto com o
> >> kohana ;)
> >>
> >> Em 11/02/2014 19:48, "DS interativa | PHP Grupos"
> >> <[email protected] <mailto:[email protected]>>
> escreveu:
> >>
> >>     RSRSRSRS
> >>     ok, nesse ponto eu eu consegui chegar parcial, até
> >>     funcionou....mas ao dar um erro, não consegui obter como imaginei,
> >>     ainda mais que tem imagens e com validação externa...
> >>
> >>     mas enfim, valeu pessoal pelas dicas, to tentando aqui e quaisquer
> >>     outras duvidas relacionadas eu mando mais emails...valeu
> >>
> >>     Em 11/02/2014 18:56, felipe bastos escreveu:
> >>>     Oxe, qual a dificuldade?? Eu manipulo vários objetos ORMs na
> >>>     mesma action, before, after .. sem problema
> >>>
> >>>     Cliente tem muitas Imagens (cliente_id) e tem muitos Endereços
> >>>     (cliente_id)
> >>>
> >>>     Você precisa salvar Cliente primeiro, depois salva Imagem e
> >>>     Endereço ... Ou, se usar ajax .. vc pode fazer o upload da imagem
> >>>     primeiro, salvar temporariamente, guardar endereço na sessão, e
> >>>     quando salvar o cliente, salvar o endereço da imagem na tabela de
> >>>     imagens.
> >>>
> >>>     No cake o pessoal indexa o form, recentemente passei a fazer o
> >>> mesmo
> >>>
> >>>     input name="cliente[nome]"
> >>>     input name="endereco[bairro]"
> >>>     input name="endereco[cidade_id]"
> >>>
> >>>     $cliente =
> >>>
> >>>
> ORM::factory('Cliente')->values($this->request->post('cliente'))->create();
> >>>     //esqueci o request do 3.3
> >>>
> >>>     $endereco = ORM::factory('endereco')->set('cliente_id',
> >>>
> >>> $cliente->id)->values($this->request->post('endereco'))->create();
> >>> //fiz
> >>>     de cabeça,verifica aí :D
> >>>
> >>>
> >>>     Em 11 de fevereiro de 2014 12:13, Giovanni Donda | DS interativa
> >>>     <[email protected] <mailto:[email protected]>>
> >>>     escreveu:
> >>>
> >>>         Putz bem que avisaram que manter um relacionamento é
> >>>         complicado (rs)
> >>>
> >>>         Pessoal (em si para o Felipe heheh), seguinte:
> >>>
> >>>         É possível: 1 formulario (zão)
> >>>         Gravar em varias tabelas ?? vindo de um post somente ??
> >>>
> >>>         Cliente
> >>>         Endereços
> >>>         Imagens
> >>>
> >>>         Como eu poderia fazer isso ?
> >>>
> >>>         Tentei aqui sem sucesso criando um ORM para o cliente e após
> >>>         salvar, se
> >>>         salvar
> >>>         Tentei salvar os demais mas não consegui
> >>>
> >>>         De qualquer forma estou fazendo tudo separado agora para
> >>>         funcionar
> >>>         mas seria mais produtivo se eu conseguisse fazer dessa forma
> >>>         para deixar um
> >>>         cadastro apenas no admin
> >>>         ao invés de vários cadastras pequenos
> >>>
> >>>         --
> >>>         Você está recebendo esta mensagem porque se inscreveu no
> >>>         grupo "Kohana Php" dos Grupos do Google.
> >>>         Para cancelar a inscrição neste grupo e parar de receber seus
> >>>         e-mails, envie um e-mail para
> >>>         [email protected]
> >>>         <mailto:kohana-php%[email protected]>.
> >>>         Para postar neste grupo, envie um e-mail para
> >>>         [email protected]
> >>> <mailto:[email protected]>.
> >>>         Visite este grupo em http://groups.google.com/group/kohana-php
> .
> >>>         Para obter mais opções, acesse
> >>>         https://groups.google.com/groups/opt_out.
> >>>
> >>>
> >>>
> >>>
> >>>     --
> >>>     http://agilesocial.net <http://agilesocial.net/>
> >>>     http://twitter.com/felipebastosweb
> >>>     http://facebook.com/felipebastosweb
> >>>     --
> >>>     Você está recebendo esta mensagem porque se inscreveu no grupo
> >>>     "Kohana Php" dos Grupos do Google.
> >>>     Para cancelar a inscrição neste grupo e parar de receber seus
> >>>     e-mails, envie um e-mail para
> >>>     [email protected]
> >>>     <mailto:[email protected]>.
> >>>     Para postar neste grupo, envie um e-mail para
> >>>     [email protected] <mailto:[email protected]>.
> >>>     Visite este grupo em http://groups.google.com/group/kohana-php.
> >>>     Para obter mais opções, acesse
> >>>     https://groups.google.com/groups/opt_out.
> >>
> >>     --
> >>     Você está recebendo esta mensagem porque se inscreveu no grupo
> >>     "Kohana Php" dos Grupos do Google.
> >>     Para cancelar a inscrição neste grupo e parar de receber seus
> >>     e-mails, envie um e-mail para
> >>     [email protected]
> >>     <mailto:kohana-php%[email protected]>.
> >>     Para postar neste grupo, envie um e-mail para
> >>     [email protected] <mailto:[email protected]>.
> >>     Visite este grupo em http://groups.google.com/group/kohana-php.
> >>     Para obter mais opções, acesse
> >>     https://groups.google.com/groups/opt_out.
> >>
> >> --
> >> Você está recebendo esta mensagem porque se inscreveu no grupo
> >> "Kohana Php" dos Grupos do Google.
> >> Para cancelar a inscrição neste grupo e parar de receber seus
> >> e-mails, envie um e-mail para [email protected].
> >> Para postar neste grupo, envie um e-mail para
> >> [email protected].
> >> Visite este grupo em http://groups.google.com/group/kohana-php.
> >> Para obter mais opções, acesse https://groups.google.com/groups/opt_out
> .
> >
> > --
> > Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
> Php"
> > dos Grupos do Google.
> > Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
> > envie um e-mail para [email protected].
> > Para postar neste grupo, envie um e-mail para
> [email protected].
> > Visite este grupo em http://groups.google.com/group/kohana-php.
> > Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
> >
>
>
> --
> http://agilesocial.net
> http://twitter.com/felipebastosweb
> http://facebook.com/felipebastosweb
>
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php"
> dos Grupos do Google.
> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
> envie
> um e-mail para [email protected].
> Para postar neste grupo, envie um e-mail para [email protected].
> Visite este grupo em http://groups.google.com/group/kohana-php.
> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
> Php" dos Grupos do Google.
> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
> envie um e-mail para [email protected].
> Para postar neste grupo, envie um e-mail para [email protected].
> Visite este grupo em http://groups.google.com/group/kohana-php.
> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>



-- 
http://agilesocial.net
http://twitter.com/felipebastosweb
http://facebook.com/felipebastosweb

-- 
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos 
Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um 
e-mail para [email protected].
Para postar neste grupo, envie um e-mail para [email protected].
Visite este grupo em http://groups.google.com/group/kohana-php.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Responder a