【发布时间】:2015-06-09 04:46:29
【问题描述】:
我在 Kohana 2.3.4 中管理一个项目,我需要为我的 android 后端创建一个 API。我正在做的是在我的模型上发送一个返回$result的查询。
$query = "select product.deal_id,product.deal_key,p..."
$result = $this->db->query($query);
我不确定$result 是对象还是数组 这由 4 行 8 列组成。我需要将 $result 更改为 json 格式。我目前正在通过回显来做到这一点。
echo json_encode($result);
这会返回一个空的 json {}。
我可以通过遍历 $result 在我的视图上使用相同的查询
foreach ($result as $h){
echo $h->main_key;
}
我这样做是对的还是我在此连接上的$result 没有行?
【问题讨论】:
-
也许 -> 查询被炸毁或结果集中没有行。我们怎么知道
-
@AsConfused 嗨,我已经测试了 sql 查询,正如我所说,它在 phpmyadmin 上返回 4 行和 8 列。
$this->db也是我的Database对象。 -
但是我们现在不在 phpmyadmin 上
-
我快速查看发现 Kohana (v3) 正在使用 PDO,因此在调用 PDO::query 后,您不会将元组作为数组/对象获取。您会得到一个 PDOStatement,您必须在其上执行 fetch 或 fetchAll 。有关详细信息,请参阅 PDOStatement::fetch。
$result = $this->db->query($query)->fetchAll(PDO::FETCH_ASSOC); -
@Basti 谢谢你,我用你的建议解决了我的问题。而不是
fetchAll,我所要做的就是打电话给as_array()
标签: mysql json kohana kohana-2