Question

J'utilise kohana et lorsque vous essayez d'extraire des données de la base de données, elles renvoient des variables de classe (telles que $ user- & first) en tant que données de base de données. Les tables utilisateur ont 12 colonnes et 8, mais certaines colonnes peuvent être vides (comme $ user- > phone). Comment puis-je trouver un numéro de colonne vide? (Manière appropriée ..)

Merci beaucoup

Était-ce utile?

La solution

Généralement, vous pouvez essayer quelque chose comme:

/**
 * 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;
}

Autres conseils

j'ai trouvé une solution. PHP a la fonction magique 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);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top