Warning: Select query cannot join with another table

в разделе Программирование | Метки: Zend Framework, PHP

Сегодня напоролся второй раз на подобную ошибку. Собственно вот причина,

пишем так:


<?php
class websitesTable extends Zend_Db_Table
{
    protected 
$_name 'websites';

    public function 
getNumByGroupId($groupId)
    {
        
$select $this->select()
                       ->
from(array('w' => $this->_name),
                              array(
'num_websites' => 'COUNT(*)')
                       )
                       ->
where('website_group_id = ?'$groupId);
        
$stmt $this->getAdapter()->query($select);
        
$res $stmt->fetchAll();

        return (
count($res)) ? $res[0] : null;
    }

    public function 
getAll($page 0$itemsOnPage 50)
    {
        
$select $this->select()
                       ->
from(array('w' => $this->_name))
                       ->
columns(array('domain''website_group_id'))
                       ->
join(array('wg' => 'website_groups'),
                                    
'w.website_group_id = wg.id'
                           
);
//                       ->order(array('w.id DESC'));
print $select->__toString();
die;
        
$stmt $this->getAdapter()->query($select);
        
$paginator = new Zend_Paginator(new Zend_Paginator_Adapter_DbSelect($select));
        
$paginator->setCurrentPageNumber($page);
        
$paginator->setItemCountPerPage($itemsOnPage);

        return 
$paginator;
    }
}
?>

Метод getNumByGroupId работает, а getAll - нет, и выдает ошибку. Решается таким образом:

<?php
        $select 
$this->select()
?>

меняем на
<?php
        $select 
$this->getAdapter()->select()
?>