문제

Kohana를 사용하고 데이터베이스에서 데이터를 가져 오려고하면 클래스 변수 (예 : $ user-> firstName)를 데이터베이스 데이터로 반환합니다. 사용자 테이블에는 12 개의 열이 있고 8 개의 열을 가져 오지만이 시점에서 일부 Columuns는 비어있을 수 있습니다 ($ user-> phone과 같이). 빈 열 번호를 어떻게 찾을 수 있습니까? (적절한 방법 ..)

정말 감사합니다

도움이 되었습니까?

해결책

일반적으로 다음과 같은 것을 시도 할 수 있습니다.

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

다른 팁

해결책을 찾았습니다. PHP에는 Magic 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);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top