Что здесь не так? Zend FW getDependentRowSet () - PullRequest
0 голосов
/ 03 марта 2011

Попытка использовать getDependentRowset в приложении ZF. У меня есть следующие отношения между двумя таблицами:

enter image description here

Если организация пользователя является FK PK таблицы организации, идентификатор организации.

Я хочу получить имя организации пользователя (organisation.name) по идентификатору пользователя (user.userId).

Вот моя модель таблицы пользователя:

class Application_Model_DbTable_User extends Zend_Db_Table_Abstract
{

        protected $_name = 'user';

        //define foreign keys here
        protected $_referenceMap = array (
            'Organisation'=> array (
            'columns'=>'organisation_organisationId',
            'refTableClass'=>'Organisation',
            'refColumns'=>'organisationId'
            )
        );

        public function getUser($emailAddress, $password) {

            $select = $this->select()
                            ->where("emailAddress = \"$emailAddress\" AND password=\"$password\"", 1);
            $row = $this->fetchRow($select);
            return $row;

        }

    }

И код обидчика в моем IndexController:

$user = new Application_Model_DbTable_User();
$res = $user->getUser($emailAddress, $password);
$organisationInfo = $res->findDependentRowset('organisation');

А идеи, что может быть причиной этого? Я знаю, что это относительно простые вещи !!!

Спасибо

1 Ответ

4 голосов
/ 03 марта 2011

Я считаю, что организация таблица является родительской таблицей для таблицы user . Так что вы должны использовать $res->findParentRow('Application_Model_DbTable_Organization');. Однако, когда вы хотите найти всех пользователей в данной организации, вы должны использовать метод getDependentRowSet() объекта строки organization .

...