如何在 Zend 中连接两个表并读取结果数据

发布于 2024-10-03 12:34:02 字数 387 浏览 2 评论 0原文

我有以下查询:

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

I have the following query:

$usersTable = new Users();

$rowset = $usersTable->select()
    ->setIntegrityCheck(false)
    ->where( 'id = ?', $userId )
    ->join( 'Books', 'Books.userid = Users.id' );

However, I can't for the life of me figure out how to read the resulting rowset (the list of books associated with the user).

Would I do the following?

foreach ($book in $rowset->Books) {
    print_r($book["book_name"]);
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

抚笙 2024-10-10 12:34:02

你所谓的$rowset实际上是一个sql表达式。
这应该有效:

$usersTable = new Users();

$sql = $usersTable->select()
    ->setIntegrityCheck(false)
    ->where( 'id = ?', $userId )
    ->join( 'Books', 'Books.userid = Users.id' );
$rowset = $usersTable->getAdapter()->fetchAll($sql);

What you call $rowset is actually an sql expression.
This should work:

$usersTable = new Users();

$sql = $usersTable->select()
    ->setIntegrityCheck(false)
    ->where( 'id = ?', $userId )
    ->join( 'Books', 'Books.userid = Users.id' );
$rowset = $usersTable->getAdapter()->fetchAll($sql);
碍人泪离人颜 2024-10-10 12:34:02

尝试这样的事情:

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

这会出现在你的模型中吗?

Try something like:

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

Is this going in your model?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文