0
확인. 선택의 작품이 버전 : 이제도움말 검색어 선택 ZF
$select = $this->select();
$select->setIntegrityCheck(false);
$select->from(array('u' => $this->_name),
array('u.id', 'u.username', 'u.avatar_path',
'(SELECT COUNT(*) FROM media WHERE user_id = u.id) media_count'));
$where = "u.status = 'active' AND u.avatar_path <> 'images/photo-thumb.gif' AND u.show_on_homepage = 1";
$where .= " AND (u.status_message IS NOT NULL OR u.profile_theme_id IS NOT NULL)";
$select->where($where);
return $this->fetchAll($select);
내가 무슨 짓을 그냥 7 번째 줄에 하나의 조건을 추가했다 (MEDIA_COUNT> 0) 그래서 다음과 같습니다
$select = $this->select();
$select->setIntegrityCheck(false);
$select->from(array('u' => $this->_name),
array('u.id', 'u.username', 'u.avatar_path',
'(SELECT COUNT(*) FROM media WHERE user_id = u.id) media_count'));
$where = "u.status = 'active' AND u.avatar_path <> 'images/photo-thumb.gif' AND u.show_on_homepage = 1";
$where .= " AND (u.status_message IS NOT NULL OR u.profile_theme_id IS NOT NULL OR media_count > 0)";
$select->where($where);
return $this->fetchAll($select);
을 그리고 이것은 이미 아무튼 작동하지 않고 오류가 발생합니다.
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'm.media_count' in 'where clause'
상태를 제거하면 작동하지 않습니다. 나는 또한 성공없이 u.media_count를 사용하여 시도했다.
편집 : media_count 값이 작동합니다. 조건 (media_count> 0)을 빠뜨린 다음 결과 세트에서 var_dump를 수행했으며 media_count 키가 올바른 값을 가진 배열에 있습니다.
EDIT2 : 위의 선택을 단순화했습니다 (중요하지 않은 행을 제거했습니다).
감사와
를 교체하십시오. 하지만 subselect 쿼리 실제로 결과 집합에 열을 추가한다고 생각? 그거 이상 하네. –