RedBeanHP fetchAll只返回一行


RedBeanPHP fetchAll only returning one row

我正在调用数据库以获取一些数据。我在SQL中尝试过这个请求,它运行良好。我已经使用PDO对查询进行了编码,它运行良好。但是对同一查询使用RedBeanHP只返回一个结果。

$app->get('/shoutbox/new/:msgid', function ($msgid) use ($app) {
    $messages = R::findAll('shoutbox_message', ' WHERE message_id > ? LIMIT 10', array($msgid));
    $app->response()->header('Content-Type', 'application/json');
    var_dump($messages);
    echo json_encode(R::exportAll($messages));
});

我已经使用var_dump($messages)来验证只返回了一条消息。

我在这里发现了一个类似的问题,但OP没有解释如何解决:使用redbeansphp的sql查询

有什么建议吗?

您使用的是R::findAll,用于不想添加任何条件的情况。但是,您的查询中有一个WHERE条件。您希望改用R::find方法。

我不确定$msgid参数中传递的值是什么,也不确定生成的$messages应该包含什么,但查询看起来是这样的。 $messages = R::find('shoutbox_message', ' message_id = ? LIMIT 10', array($msgid) );