Pregunta

Uso kohana y cuando intenta obtener datos de la base de datos, devuelve variables de clase (como $ user- > firstname) como datos de la base de datos. La tabla de usuario tiene 12 columnas y busco 8 columnas, pero en este punto algunas columnas pueden estar vacías (como $ user- > phone). ¿Cómo puedo encontrar el número de columna vacío? (Forma correcta ...)

Muchas gracias

¿Fue útil?

Solución

Genéricamente, podría intentar algo como:

/**
 * Count number of empty data members in a row object.
 */
function countEmpty($row){
  $fields = array_keys($row->as_array());
  $cnt = 0;
  foreach($fields as $f){
    if (empty($row->$f)) $cnt++;
  }
  return $cnt;
}

Otros consejos

encontré la solución. PHP tiene la función mágica get_object_vars:

$data = User_Model::factory()->read(
    array('id' => $user_id),
    'firstname, lastname, birthday, country, mobilephone, landphone, address'
);

$filled_data = 0;
foreach(get_object_vars($data) as $v)
{
    if ($v != '') $filled_data++;
}
return round($filled_data / count(get_object_vars($data)) * 100);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top