Hola comunidad
trabajando en Yii 1.x he visto que existe un parámetro dentro del gridview "visible" con dos posibles valores "true" o "false" que muestran o esconden la columna
a través de una función dentro del modelo estoy intentado que el valor "visible" dentro de la columna tome un valor pasándolo desde el modelo para ocultar o mostrar la columna en función de lo existen en otro modelo relacionado.
public function getVisible(){
$model = new TbEntiPerServicio;
$mostrar = 'false';
$valor1 = $this->ID_SERVICIO; //numero del servicio en el modelo
$valor2 = $this->iDSERVICIO->VISIBLE; //estado del servicio viene de otro modelo relacionado
$valor3 = $this->iDSERVICIO->ID_SERVICIOS; //numero de servicio del otro modelo relacionado
if ($valor1 == $valor3 && $valor2 == 1){
$mostrar = 'true';
return self:: $mostrar;
}
}
y en el gridvew tengo lo siguiente para cada columna
array (
'name'=>'ID_SERVICIO',
'value'=>'CHtml::link($data["1"],Yii::app()->createUrl("/TbEntiPerServicio/detalleview", array("id"=>$data["ID_ENTI_PER_SERV"],"id_entidad"=>$data["ID_ENTI"],"id_servicio"=>"1")))',
//'value'=>'$data["1"]',
'visible'=>'$data->getVisible()', //opcion para ocultar columna
'type'=>'raw',
),
he probado tanto pasando el valor dentro $mostrar de la llamada a la función. pero la columna no se oculta pese a tener el valor "visible" = 1