3

我在 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在这个连接上没有行?

4

1 回答 1

4

我发现我已经使用 Kohana 调试来知道我result是对象还是数组。调用以下命令后

echo Kohana::debug($result);

我发现它是一个对象,因此转换为 json 对象时结果为空。我还尝试获取一个关联数组,mysql_fetch_assoc它实际上需要一个 mysql 查询对象。这不起作用,因为该对象是由我的 ORM 对象创建的。然后我通过调用解决了这个问题

$result = $this->db->query($query)->as_array();

这返回了一个数组并解决了我的问题。

于 2015-06-09T06:24:46.130 回答