Quiero mostrar u ocultar un botón dependiendo de unas condiciones, pero tengo que pasar a la función que devuelve true o false un valor de la fila que esta tratando.
Cuando quiero comparar con un campo como en ese ejemplo no hay problema, el asunto esta si quiero pasar el valor de ‘data->activated’ a la función si lo paso con las las comillas simple dentro de la función tengo el texto y si lo paso sin las comillas no tengo ningún valor.
Para el caso concreto que estoy haciendo encontré ya otra solución, la comento por si a alguien le ayuda, pero el problema de pasar valores a una función sigo sin verlo.
En caso concreto que tenia era mostrar un botón de borrado en un grid en caso de que no hubieran registros que dependieran de el. Como es una relación que tengo definida en el modelo simplemente con usarla me vale.
‘visible’ => ‘! $data->gastos[$data->id]->id’,
Con esto si hay algún registro dependiente ya me muestra el id del primero y no muestro el boton
Si la function la tienes en el model, por ejemplo:
class Menu extends MyActiveRecord {
.......
public function prueba() {
// aquí tienes todas las propiedades del model, mediante $this, porque le llega el $data de la fila
$nombre = $this->name; // por ejemplo, es el valor de esa fila
return $this->activated;
}
.....
}