Zend 查询构建器:我只需要根据用户在组中的成员身份获取用户的显示名称
Zend query builder: I need to get just the display name of a user based on their membership to a group
如果用户属于 ID 为 181 的组,我只想获取用户的显示名称。我已经编写了执行此操作的标准 sequel 代码,但我确实无法转换它变成一个工作的 Zend 版本。
$stmt = $userTable->select()
->setIntegrityCheck(false)
->from( array('u' => $userTable->info('name')))
->joinLeft( array('gm' => $membershipTable->info('name')), 'gm.user_id = u.user_id')
->joinLeft(array('g' => $groupsTable->info('name')), 'g.group_id = gm.resource_id')
->columns('u.displayname')
->where('g.group_id = ?', 181);
$result = $userTable->getAdapter()->fetchAll($stmt);
它没有返回我想要的小数据集,而是 returns 相当于 SELECT *.
如有任何帮助,我们将不胜感激。提前致谢。
您可以通过在数组中添加列名轻松完成。
$stmt = $userTable->select()
->setIntegrityCheck(false)
->from( array('u' => $userTable->info('name')),array('u.username'))
->joinLeft( array('gm' => $membershipTable->info('name')), 'gm.user_id = u.user_id')
->joinLeft(array('g' => $groupsTable->info('name')), 'g.group_id = gm.resource_id')
->columns('u.displayname')
->where('g.group_id = ?', 181);
$result = $userTable->getAdapter()->fetchAll($stmt);
如果您不需要任何列,您可以这样做。
->joinLeft( array('gm' => $membershipTable->info('name')), 'gm.user_id = u.user_id',array())
如果用户属于 ID 为 181 的组,我只想获取用户的显示名称。我已经编写了执行此操作的标准 sequel 代码,但我确实无法转换它变成一个工作的 Zend 版本。
$stmt = $userTable->select()
->setIntegrityCheck(false)
->from( array('u' => $userTable->info('name')))
->joinLeft( array('gm' => $membershipTable->info('name')), 'gm.user_id = u.user_id')
->joinLeft(array('g' => $groupsTable->info('name')), 'g.group_id = gm.resource_id')
->columns('u.displayname')
->where('g.group_id = ?', 181);
$result = $userTable->getAdapter()->fetchAll($stmt);
它没有返回我想要的小数据集,而是 returns 相当于 SELECT *.
如有任何帮助,我们将不胜感激。提前致谢。
您可以通过在数组中添加列名轻松完成。
$stmt = $userTable->select()
->setIntegrityCheck(false)
->from( array('u' => $userTable->info('name')),array('u.username'))
->joinLeft( array('gm' => $membershipTable->info('name')), 'gm.user_id = u.user_id')
->joinLeft(array('g' => $groupsTable->info('name')), 'g.group_id = gm.resource_id')
->columns('u.displayname')
->where('g.group_id = ?', 181);
$result = $userTable->getAdapter()->fetchAll($stmt);
如果您不需要任何列,您可以这样做。
->joinLeft( array('gm' => $membershipTable->info('name')), 'gm.user_id = u.user_id',array())