3

我有以下查询:

$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"]);
}
4

2 回答 2

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);
于 2010-12-01T15:03:43.757 回答
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"]);
}

这在你的模型中吗?

于 2010-11-19T15:21:38.717 回答