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.