Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola Galera do iMasters.
Estou tentando exibir os campos de duas tabelas juntos.
Explicando melhor:
Eu tenho a tabela modules
CREATE TABLE IF NOT EXISTS `cms`.`modules` (
`id` INT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(45) NOT NULL ,
`visibility` TINYINT NOT NULL DEFAULT 1 ,
PRIMARY KEY (`id`) )
ENGINE = InnoDB
Também tenho a tabela options
CREATE TABLE IF NOT EXISTS `cms`.`options` (
`id` INT NOT NULL AUTO_INCREMENT ,
`name` TEXT NOT NULL ,
`value` TEXT NULL ,
PRIMARY KEY (`id`) )
ENGINE = InnoDB
E por fim a tabela options_modules que a faz a relação entre as duas
CREATE TABLE IF NOT EXISTS `cms`.`options_modules` (
`id` INT NOT NULL AUTO_INCREMENT ,
`option_id` INT NOT NULL ,
`module_id` INT NOT NULL ,
PRIMARY KEY (`id`) )
ENGINE = InnoDB
Ai eu criei o Model OptionModule
<?php
class OptionModule extends AppModel
{
public $useTable = "options_modules";
public $belongsTo = array(
'Option', 'Module'
);
}
Mais quando vou exibir os dados relacionado usando os metodos find(), findBy, findAllBy ou outro qualquer.
<?php pr($this->OptionModule->findByModule_id(1));?>
Ele me retorna uma array assim: (que e o correto).
Array
(
[OptionModule] => Array
(
[id] => 1
[option_id] => 3
[module_id] => 1
)
[Option] => Array
(
[id] => 3
[name] => max_news
[value] => 10
)
[Module] => Array
(
[id] => 1
[name] => news
[visibility] => 1
)
)
Mais eu não queria receber o array deste jeito, eu gostaria de receber assim:
Array
(
[OptionModule] => Array
(
[id] => 1
[option_id] => 3
[module_id] => 1
[id] => 3
[name] => max_news
[value] => 10
[id] => 1
[name] => news
[visibility] => 1
)
)
Sem a separação por Model, tudo junto. Então galera e possível eu receber um array assim? com os campos das 3 ou de 2 tabelas tudo junto em um só array?
Carregando comentários...