
Vamos la!
Estas são minhas tabelas :
create table IF NOT EXISTS cadastro ( id int not null primary key auto_increment, descricao varchar(50) not null ); create table IF NOT EXISTS situacao ( id int not null primary key auto_increment, descricao varchar(50) not null ); create table IF NOT EXISTS cadastro_situacao ( id int not null primary key auto_increment, cadastro_id int not null, situacao_id int not null, foreign key (cadastro_id) references cadastro (id), foreign key (situacao_id) references situacao (id) ); create table IF NOT EXISTS empresa ( id int not null primary key auto_increment, razao_social varchar(100) not null, cnpj varchar(14) not null unique, telefone varchar(14), email varchar(100), cadastro_situacao_id int not null, foreign key (cadastro_situacao_id) references cadastro_situacao (id) );
Para cada cadastro tera suas situações, ex: empresa->[ativo, inativo], patrimonio->[em uso, manutençao]
Oque eu quero é na visualizão das empresas na view empresa/admin.php, ao invés de apresentar o id do cadastroSituacao, apresentar a descricao da situacao.
Oque já tentei:
public function search() { $criteria=new CDbCriteria; $criteria->compare('t.id',$this->id); $criteria->compare('razao_social',$this->razao_social,true); $criteria->compare('cnpj',$this->cnpj,true); $criteria->compare('telefone',$this->telefone,true); $criteria->compare('email',$this->email,true); //$criteria->compare('cadastro_situacao_id',$this->cadastro_situacao_id); $criteria->compare('cadastroSituacao.situacao.descricao',$this->cadastroSituacao->situacao->id, true); $criteria->with=array('cadastroSituacao'); return new CActiveDataProvider($this, array( 'criteria'=>$criteria, )); }
O erro ocorre nesta linha:
$criteria->compare('cadastroSituacao.situacao.descricao',$this->cadastroSituacao->situacao->id, true);
O erro:
Trying to get property of non-object
Alguem poderia me ajudar?