我正在调用数据库来获取一些数据。我在SQL中尝试了这个请求,它运行正常。我使用PDO编写了查询,它工作正常。但是使用具有相同查询的RedBeanPHP仅返回一个结果。
$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解决了这个问题而没有解释如何:sql query using redbeans php
有什么建议吗?
答案 0 :(得分:0)
您使用的R::findAll
用于不想添加任何条件时使用的R::find
。但是,您的查询中有WHERE条件。您想要使用
$messages = R::find('shoutbox_message', ' message_id = ? LIMIT 10', array($msgid) );
方法。
我不确定$ msgid参数中传递的值是什么,或者生成的$ message应该包含什么,但查询看起来像这样。 {{1}}