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

次のようなものを試してください:

$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 に答える
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 に答える