我有以下查询:
$usersTable = new Users();
$rowset = $usersTable->select()
->setIntegrityCheck(false)
->where( 'id = ?', $userId )
->join( 'Books', 'Books.userid = Users.id' );
但是,我不能为我的生活弄清楚如何阅读生成的行集(与用户关联的书籍列表)。
我会执行以下操作吗?
foreach ($book in $rowset->Books) {
print_r($book["book_name"]);
}
答案 0 :(得分:0)
尝试类似:
$sql = $this->select()
->setIntegrityCheck(false)
->where( 'id = ?', $userId )
->join( 'Books', 'Books.userid = Users.id' )
);
$rowset = $this->fetchRow($sql);
foreach ($rowset as $book) {
print_r($book["book_name"]);
}
这是否在您的模型中?
答案 1 :(得分:0)
你所谓的$ rowset实际上是一个sql表达式。 这应该有效:
$usersTable = new Users();
$sql = $usersTable->select()
->setIntegrityCheck(false)
->where( 'id = ?', $userId )
->join( 'Books', 'Books.userid = Users.id' );
$rowset = $usersTable->getAdapter()->fetchAll($sql);