Buenas, soy nuevo en Yii y necesito ayuda, disculpen si este tema ha sido tratado anteriormente pero no consigo dar con la solucion.
Tengo una Base de datos de un directorio
mi tabla tbl_estructura tiene un campo idtipoestructura (FK) de la tabla tbl_tipoestructura desde donde mediante el id, se trae la denominacion del tipo de estructura
(en la tabla estructura tambien existe un campo llamado denominacion) no se si tendrá algo que ver pero por ahora tengo esto, se supone que deberia poder hacer busquedas
por tipo de estructura asi como por denominacion de la tabla tbl_estructura. algun tipo de filtrado para posteriormente llegar a algo mas… por ahora solo necesito eso
pero todo esta de cabeza y ya no se que hacer.
En el modelo Estructura.php tengo esto:
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('idpadre, idtipoestructura, idparroquia, idmaximaautoridad, denominacion, ubicacionfisica, paginaweb, telefono', 'required'),
array('idpadre, idtipoestructura, idparroquia, idmaximaautoridad, codigoonapre, estatusreg', 'numerical', 'integerOnly'=>true),
// The following rule is used by search().
// @todo Please remove those attributes that should not be searched.
array('id, idpadre, idtipoestructura0, idtipoestructura, idparroquia, idmaximaautoridad, codigoonapre, denominacion, ubicacionfisica, paginaweb, telefono, estatusreg', 'safe', 'on'=>'search'),
);
}
/** idtipoestructura0.denominacion,
* @return array relational rules.
*/
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'tblSeguimientoproyectos' => array(self::HAS_MANY, 'TblSeguimientoproyecto', 'idestructura'),
'idparroquia0' => array(self::BELONGS_TO, 'TblParroquia', 'idparroquia'),
'idmaximaautoridad0' => array(self::BELONGS_TO, 'TblMaximaautoridad', 'idmaximaautoridad'),
'idtipoestructura0' => array(self::BELONGS_TO, 'TblTipoestructura', 'idtipoestructura'),
'tblDependenciases' => array(self::HAS_MANY, 'TblDependencias', 'idestructura'),
);
}
/**
* @return array customized attribute labels (name=>label)
*/
public function attributeLabels()
{
return array(
'id' => 'numero identificador de estructura\r\n',
'idpadre' => 'Id Padre',
'idtipoestructura' => 'id tipo de Estructura',
'idtipoestructura0.denominacion' => 'Tipo de Organismo',
'idparroquia' => 'Parroquia',
'idmaximaautoridad' => 'Idmaximaautoridad',
'codigoonapre' => 'COD ONAPRE',
'denominacion' => 'Nombre de la estructura',
'ubicacionfisica' => 'direccion.',
'paginaweb' => 'direccion de la pagina web',
'telefono' => 'numero de telefono',
'estatusreg' => 'estatus en el que encuentra el registro (activo - inactivo)',
);
}
en el views del admin(donde se hacen los filtrados) tengo esto:
<?php echo CHtml::link('Advanced Search','#',array('class'=>'search-button')); ?>
<div class="search-form" style="display:none">
<?php $this->renderPartial('_search',array(
'model'=>$model,
)); ?>
</div><!-- search-form -->
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'estructura-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
//'id',
'idpadre',
//'idtipoestructura',
'idparroquia',
//'idmaximaautoridad',
'codigoonapre',
'denominacion',
//'ubicacionfisica',
//'paginaweb',
//'telefono',
//'estatusreg',
array(
'name'=>'idtipoestructura0.denominacion',
'value'=>'$data->idtipoestructura0->denominacion'),
array(
'class'=>'CButtonColumn',
),
),
)); ?>
y en el search esto:
<div class="row">
<?php echo $form->label($model,'idtipoestructura0'); ?>
<?php echo $form->textField($model,'idtipoestructura0'); ?>
</div>
se que debe ser una tonteria pero es primera vez que trabajo con esto. disculpen las molestias