ok farei isso assim que puder...
detalhes a parte em relação a tipos de campos...rs
devo terminar esse cadastro entre hoje/amanha e ai posto o codigo...
valeu por enquanto...
Em 12/02/2014 18:09, felipe bastos escreveu:
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.
--
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.