尝试在ZF应用程序中使用getDependentRowset。我在两个表之间有以下关系:
用户的组织是组织表的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');
想法可能导致什么?我知道这是相对简单的东西!!!
由于
答案 0 :(得分:4)
我相信组织表是用户表的父表。所以你应该使用$res->findParentRow('Application_Model_DbTable_Organization');
。但是,如果要查找给定组织中的所有用户,请使用组织行对象的getDependentRowSet()
方法。