Olá amigos, estou tendo problemas para savar um registro utilizando o Lumine.
Tenho uma entidade chamada Grupo e com os campos:
codigo varcha(20) primary key,
nome varchar(50),
icone varchar(250),
ativo varchar(1)
Este campo codigo tem valores seuqnecias para poder montar os registros em forma de árvore. Por ecemplo:
Para eu ter uma estrutura de arvore abaixo:
- Grupo 1
|_ Grupo 1.1
|_ Grupo 1.2
| |_ Grupo 1.2.1
|_ Grupo 1.3
- Grupo 2
|_ Grupo 2.1
|_ Grupo 2.1.1
| |_ Grupo 2.1.1.1
|_ Grupo 2.1.2
Eu teria os campos gravados na tabela, seguindo (codigo, nome, icone, ativo):
'01', 'Grupo 1', '', 'S';
'0101', 'Grupo 1.1', '', 'S';
'0102', 'Grupo 1.2', '', 'S';
'010201', 'Grupo 1.2.1', '', 'S';
'0103', 'Grupo 1.3', '', 'S';
'02', 'Grupo 2', '', 'S';
'0201', 'Grupo 2.1', '', 'S';
'020101', 'Grupo 2.1.1', '', 'S';
'02010101', 'Grupo 2.1.1.1', '', 'S';
'020102', 'Grupo 2.1.2', '', 'S';
Então, como pode ficar claro, meus códigos não são auto_inc pois seguem uma espécie de hierarquia.
Para gravar, estava fazendo assim:
...
$_POST["codigo"] = getNextCodigo($_POST["grupoPai"]); //Função que retorna o próximo Código baseado no grupo Pai
$grupo->setFrom($_POST);
$grupo->save(); //Aqui está meu problema!!!
Coloquei o LumineLog::setLevel(3, 'bowser') e viu que ele não estava incluindo pois ele sempre executava um UPDATE e não um INSERT.
Gostaria de saber como é que faço pra corrigir isto ou o Lumine não contempla um código ou campo ID que não seja auto_inc. O que devo fazer?
Tenho um pouco de urgencia pois estou com o projetos atrazado há 3 dias por causa deste único problema.
Fico no agaurdo e desde já agradeço a atenção....
Publicidade
|
|
Page 1 of 1
URGENTE - Problemas com o metodo save() Acho que este é um trabalho para Hufersil!!!!
#2
Posted 05 February 2007 - 09:24 AM
como você está utilizando uma chave primária que não é auto-increment, utilize o método insert, para forçar a inserção, só utilize o método save, neste caso, quando querer realizar um update.
$obj->insert();
Nota: Este método que você está usando para fazer menu com submenu, é meio estranho e limitado, porque vc tem somente duas casas decimais para cada grupo. Tente fazer da seguinte forma:
Note a existência do campo idpai, e ele ser uma chave estrangeira referenciada para a própria tabela. Dessa forma, quando o campo estiver nulo (note que o campo permite null) ele é um menu de nível superior, e quando tiver um valor referenciando para um módulo já existente, ele é um sub-módulo. Dessa forma, você pode fazer infinitos sub-menus, e ainda por cima pode checar se está correto com o uso de chaves estrangeiras.
exemplo:
1 - Principal (pai = null)
2 - Secundário (pai = 1)
3 - Terciário (pai = 2 )
1.null - Principal
2.1 - Secundário
3.2 - Terciário
@braços e fique com Deus!
$obj->insert();
Nota: Este método que você está usando para fazer menu com submenu, é meio estranho e limitado, porque vc tem somente duas casas decimais para cada grupo. Tente fazer da seguinte forma:
CODE
CREATE TABLE `tbl_modulo` (
`idmodulo` int(11) NOT NULL auto_increment,
`idpai` int(11) default NULL,
`nome` varchar(255) NOT NULL default '',
`icone` varchar(255) default NULL,
`ativo` varchar(1) default 'S',
PRIMARY KEY (`idmodulo`),
KEY `IX_Relationship27` (`idpai`),
CONSTRAINT `tbl_modulo_ibfk_1` FOREIGN KEY (`idpai`) REFERENCES `tbl_modulo` (`idmodulo`) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE=InnoDB
`idmodulo` int(11) NOT NULL auto_increment,
`idpai` int(11) default NULL,
`nome` varchar(255) NOT NULL default '',
`icone` varchar(255) default NULL,
`ativo` varchar(1) default 'S',
PRIMARY KEY (`idmodulo`),
KEY `IX_Relationship27` (`idpai`),
CONSTRAINT `tbl_modulo_ibfk_1` FOREIGN KEY (`idpai`) REFERENCES `tbl_modulo` (`idmodulo`) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE=InnoDB
Note a existência do campo idpai, e ele ser uma chave estrangeira referenciada para a própria tabela. Dessa forma, quando o campo estiver nulo (note que o campo permite null) ele é um menu de nível superior, e quando tiver um valor referenciando para um módulo já existente, ele é um sub-módulo. Dessa forma, você pode fazer infinitos sub-menus, e ainda por cima pode checar se está correto com o uso de chaves estrangeiras.
exemplo:
1 - Principal (pai = null)
2 - Secundário (pai = 1)
3 - Terciário (pai = 2 )
1.null - Principal
2.1 - Secundário
3.2 - Terciário
@braços e fique com Deus!
Share this topic:
Page 1 of 1
Similar Topics
| Topic | Forum | Started By | Stats | Last Post Info | |
|---|---|---|---|---|---|
|
Primeira sala Imax do país abre com biodocumentário tedioso
|
Notícias |
Notícias
|
|
|
|
Efeito vidro
imagem com efeito vidro |
Photoshop & Image Ready |
Aroldo Teles
|
|
|
|
Aplicativo de US$ 1 mil para iPhone causa revolta
|
Notícias |
Notícias
|
|
|
|
Idec diz que web móvel não pode ser considerada banda larga
|
Notícias |
Notícias
|
|
|
|
caracteres especiais
ajuda com caracteres como ´`ç |
ASP |
Pastor_de_Mulas
|
|
|
|
Skype permitirá conferências com até 500 pessoas d
IDG Now! - Internet |
Notícias |
TiTi Celestino
|
|
|
|
Aplicativo do Google para celular é capaz de resolver Sudoku
|
Notícias |
Notícias
|
|
|
|
Slider, barra de imagens... (com voltar, avançar e link)
Flash e xml! |
Flash & ActionScript |
keynnermxstudio
|
|
Publicidade
|
|

Help













