0

私は正常に動作するこのテストクエリを持っています:

select `name` from `Role` as rl, `UserRole` as ur 
WHERE rl.id = ur.roleId AND ur.userId = '1'

結果:'test'

Zend_Table を使用して同じことをしようとしていますが、間違っているようです。ここに私がいるものがあります:

$usrRole = new Schema_UserRole(array ('db' => $db));
$role = new Schema_Role(array ('db' => $db));
$select = $role->select();
$select
    ->setIntegrityCheck(false)
    ->from(array ('rl' => $role))
    ->join(array ('ur' => $usrRole), 'rl.id = ur.roleId')
    ->where('ur.userId = ?', '1');
$rowset = $role->fetchRow($select);
$out = $rowset->toArray();

結果:''

ありがとう!

4

1 に答える 1

0

私はそれを見つけました、それはの最初のパラメータに文字列が必要なようですjoin

$select
    ->setIntegrityCheck(false)
    ->from($role, array('name'))
    ->joinLeft('UserRole', 'Role.id = UserRole.roleId', '')
    ->where('UserRole.userId = ?', '1');
于 2012-07-16T21:15:48.743 に答える