这有什么不对? Zend FW getDependentRowSet()

时间:2011-03-03 10:32:54

标签: php database zend-framework zend-db

尝试在ZF应用程序中使用getDependentRowset。我在两个表之间有以下关系:

enter image description here

用户的组织是组织表的PK,organisationId的FK。

我想要做的是,通过用户ID(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 个答案:

答案 0 :(得分:4)

我相信组织表是用户表的父表。所以你应该使用$res->findParentRow('Application_Model_DbTable_Organization');。但是,如果要查找给定组织中的所有用户,请使用组织行对象的getDependentRowSet()方法。