php - CodeIgniter DataMapper Unable To Relate tree tables -


i have tree tables:

create table `bairros` (     `id` int(11) unsigned not null auto_increment,     `cidade_id` int(11) unsigned null default null,     primary key (`id`),     index `fk_bairros_cidades` (`cidade_id`),     constraint `fk_bairros_cidades` foreign key (`cidade_id`) references `cidades` (`id`) )  create table `cidades` (     `id` int(11) unsigned not null auto_increment,     `estado_id` tinyint(4) unsigned null default null,     primary key (`id`),     index `fk_cidades_estados` (`estado_id`), constraint `fk_cidades_estados` foreign key (`estado_id`) references `estados` (`id`) )  create table `estados` (     `id` tinyint(4) unsigned not null auto_increment,     primary key (`id`) ) 

in bairros class have function:

public function get_by_id($bairro_id) {     $bairro = new bairro();     $bairro->include_related('cidade');     $bairro->include_related('estado');     return $bairro->get_by_id($bairro_id); } 

in models have:

bairro model:

var $has_one = array(     'cidade' => array(         'class' => 'cidade',         'other_field' => 'bairro',         'join_other_as' => 'cidade',         'join_table' => 'bairros'     ) 

cidade model:

var $has_one = array(     'estado' => array(         'class' => 'estado',         'other_field' => 'cidade',         'join_other_as' => 'estado',         'join_table' => 'cidades'     ) ); var $has_many = array(     'bairro' => array(         'class' => 'bairro',         'other_field' => 'cidade',         'join_self_as' => 'cidade',         'join_table' => 'bairros'     ) ); 

estado model

var $has_many = array(     'cidade' => array(         'class' => 'cidade',         'other_field' => 'estado',         'join_self_as' => 'estado',         'join_table' => 'cidades'     ) ); 

i want produce like:

select bairros.*, cidades.*, estados.* bairros left outer join cidades on cidades.id = bairros.cidade_id left outer join estados on estados.id = cidades.estado_id bairros.id = 1; 

i message:

"unable relate bairro estado."

how this?

solved:

$pedido->include_related('cidade/estado'); 

thus works correctly. thanks


Comments

Popular posts from this blog

java - activate/deactivate sonar maven plugin by profile? -

python - TypeError: can only concatenate tuple (not "float") to tuple -

java - What is the difference between String. and String.this. ? -