findDependentRowset возвращает все строки - PullRequest
0 голосов
/ 25 августа 2010

У меня есть две модели:

class Application_Model_List extends Zend_Db_Table_Abstract
{
    protected $_name = 'list';
    protected $_primary = 'list_id';
    protected $_dependentTables = array('Application_Model_Task');

    public function getUserLists($user)
    {
        $select = $this->select()->from($this->_name)->where('list_user = ?',$user);
        return $this->fetchAll($select);
    }

}

и

class Application_Model_Task extends Zend_Db_Table_Abstract
{
    protected $_name = 'task';
    protected $_primary = 'task_id';

    protected $_referenceMap = array(
        'List' => array(
            'columns'       => 'task_list_id',
            'refTableClass' => 'Application_Model_List',
            'refColumns'    => 'list_id'
        )
    );
}

Я звоню getUserLists в моем контроллере следующим образом:

public function indexAction()
{
    $lists = new Application_Model_List();
    $userLists = $lists->getUserLists(1);
    $this->view->lists = $userLists;
}

и передайте его на мой взгляд, а затем вызовите findDependentRowset следующим образом:

foreach($this->lists as $list){
    echo $list->list_title;
    $tasks = $list->findDependentRowset('Application_Model_Task');
    foreach($tasks as $task){
        echo $task->task_title;
    }
}

но проблема в том, что он выводит все наборы строк из зависимой таблицы, а не только те, которые соответствуют предложению where

1 Ответ

0 голосов
/ 25 августа 2010

К сожалению.Оказывается, это работало, но неверный HTML скрывал вывод, который я ожидал

...