我构建了一个函数
public function getBannedByLogin($commentId)
{
$sql = $this->getDbAdapter()->select()
->from(array('comments' => 'comments'), array())
->join(array('users' => 'qengine_users'),
'comments.bannedBy = users.userId',
array())
->where('commentId = ?', $commentId)
;
$row = $this->fetchRow($sql);
return $row['login'];
}
还有一些问题,不起作用! :d 我来解释一下你。来自评论的列'bannedBy'返回用户的id,他们给予禁令。我需要与表用户一起加载这个以加载登录字段。哪里有错误?
答案 0 :(得分:0)
我认为代码的工作原理是不抛出异常。如果是这样,您的代码就可以了,您只需告诉Zend_Db
不要选择任何列。
public function getBannedByLogin($commentId)
{
$sql = $this->getDbAdapter()->select()
->from(array('comments' => 'comments'))
->join(array('users' => 'qengine_users'),
'comments.bannedBy = users.userId')
->where('commentId = ?', $commentId)
;
$row = $this->fetchRow($sql);
return $row['login'];
}
from()
和join()
函数的最后一个参数是您要选择的列数组。如果传入空数组,则不会选择任何列。没有争论=选择一切。当然,您也可以仅指定所需的列。