de todas as formas que faço na tabela sempre ele cria como ONE-to-MANY
Alguém pode me ajudar?
Segue abaixo os dados:
CÓDIGO
DROP TABLE IF EXISTS `especialidades`;
CREATE TABLE `especialidades` (
`espec_id` int(11) NOT NULL AUTO_INCREMENT,
`espec_desc` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
PRIMARY KEY(`espec_id`),
INDEX `new_index30`(`espec_id`)
)
ENGINE=INNODB
CHARACTER SET utf8
COLLATE utf8_general_ci;
DROP TABLE IF EXISTS `fornecedores`;
CREATE TABLE `fornecedores` (
`forn_id` int(11) NOT NULL AUTO_INCREMENT,
`idcidades` int(11) NOT NULL,
`forn_tipo` enum('F','J') DEFAULT J,
`forn_nome` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_razao` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_cpf` char(11),
`forn_cnpj` char(15),
`forn_rg` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_ie` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_fone` char(10),
`forn_celular` char(10),
`forn_fax` char(10),
`forn_email` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_homepage` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_endereco` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_numero` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_bairro` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_sgq` enum('0','1') DEFAULT 1,
`forn_sgqdesc` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_status` enum('0','1') DEFAULT 1,
`forn_obs` text CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_cep` char(8),
`forn_complemento` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_logo` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
PRIMARY KEY(`forn_id`),
INDEX `idx_idcidades`(`idcidades`),
INDEX `new_index29`(`forn_id`),
CONSTRAINT `Ref_12` FOREIGN KEY (`idcidades`)
REFERENCES `cidades`(`idcidades`)
ON DELETE NO ACTION
ON UPDATE NO ACTION
)
ENGINE=INNODB
CHARACTER SET utf8
COLLATE utf8_general_ci;
-- Drop table fornecedores_has_especialidades
DROP TABLE IF EXISTS `fornecedores_has_especialidades`;
CREATE TABLE `fornecedores_has_especialidades` (
`forn_id` int(11) UNSIGNED NOT NULL,
`espec_id` int(11) UNSIGNED NOT NULL,
PRIMARY KEY(`forn_id`, `espec_id`),
INDEX `new_index27`(`forn_id`),
INDEX `new_index28`(`espec_id`),
CONSTRAINT `Ref_73` FOREIGN KEY (`forn_id`)
REFERENCES `fornecedores`(`forn_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `Ref_74` FOREIGN KEY (`espec_id`)
REFERENCES `especialidades`(`espec_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION
)
ENGINE=INNODB
CHARACTER SET utf8
COLLATE utf8_general_ci;
CREATE TABLE `especialidades` (
`espec_id` int(11) NOT NULL AUTO_INCREMENT,
`espec_desc` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
PRIMARY KEY(`espec_id`),
INDEX `new_index30`(`espec_id`)
)
ENGINE=INNODB
CHARACTER SET utf8
COLLATE utf8_general_ci;
DROP TABLE IF EXISTS `fornecedores`;
CREATE TABLE `fornecedores` (
`forn_id` int(11) NOT NULL AUTO_INCREMENT,
`idcidades` int(11) NOT NULL,
`forn_tipo` enum('F','J') DEFAULT J,
`forn_nome` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_razao` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_cpf` char(11),
`forn_cnpj` char(15),
`forn_rg` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_ie` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_fone` char(10),
`forn_celular` char(10),
`forn_fax` char(10),
`forn_email` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_homepage` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_endereco` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_numero` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_bairro` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_sgq` enum('0','1') DEFAULT 1,
`forn_sgqdesc` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_status` enum('0','1') DEFAULT 1,
`forn_obs` text CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_cep` char(8),
`forn_complemento` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
`forn_logo` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci,
PRIMARY KEY(`forn_id`),
INDEX `idx_idcidades`(`idcidades`),
INDEX `new_index29`(`forn_id`),
CONSTRAINT `Ref_12` FOREIGN KEY (`idcidades`)
REFERENCES `cidades`(`idcidades`)
ON DELETE NO ACTION
ON UPDATE NO ACTION
)
ENGINE=INNODB
CHARACTER SET utf8
COLLATE utf8_general_ci;
-- Drop table fornecedores_has_especialidades
DROP TABLE IF EXISTS `fornecedores_has_especialidades`;
CREATE TABLE `fornecedores_has_especialidades` (
`forn_id` int(11) UNSIGNED NOT NULL,
`espec_id` int(11) UNSIGNED NOT NULL,
PRIMARY KEY(`forn_id`, `espec_id`),
INDEX `new_index27`(`forn_id`),
INDEX `new_index28`(`espec_id`),
CONSTRAINT `Ref_73` FOREIGN KEY (`forn_id`)
REFERENCES `fornecedores`(`forn_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `Ref_74` FOREIGN KEY (`espec_id`)
REFERENCES `especialidades`(`espec_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION
)
ENGINE=INNODB
CHARACTER SET utf8
COLLATE utf8_general_ci;
e quando eu faço o reverso no Lumine ele cria assim:
CÓDIGO
]$this->_addForeignRelation("fornecedores_has_especialidades", self::ONE_TO_MANY, "Fornecedores_has_especialidades", "espec_id", null, null, null);
$this->_addForeignRelation("fornecedores_has_especialidades", self::ONE_TO_MANY, "Fornecedores_has_especialidades", "forn_id", null, null, null);
$this->_addForeignRelation("fornecedores_has_especialidades", self::ONE_TO_MANY, "Fornecedores_has_especialidades", "forn_id", null, null, null);
desde já agradeço a ajuda.
Att
Luis Carlos

Help














