如何从laravel4查询生成器中的json数据中获取数组格式数据?

时间:2014-03-28 10:57:16

标签: mysql laravel-4

我正在使用laravel4查询构建器。我有以下查询返回json数据。

$query=DB::connection('mysqlMagento')->
    table('magento_catalog_category_flat_store_1')->
    join('sohyper_region_activity', 'magento_catalog_category_flat_store_1.entity_id', '=', 'sohyper_region_activity.activity_id')->
    select("magento_catalog_category_flat_store_1.entity_id" , "magento_catalog_category_flat_store_1.parent_id" , "magento_catalog_category_flat_store_1.name as label" ,"magento_catalog_category_flat_store_1.url_key as name")->
    get();

以上查询返回json格式数据,我想将其转换为arrat格式。我知道Toarray()用于在eloquent中进行转换,但是在查询构建器中,请帮助我。 谢谢。

2 个答案:

答案 0 :(得分:0)

$query=DB::connection('mysqlMagento')->
    table('magento_catalog_category_flat_store_1')->
    join('sohyper_region_activity', 'magento_catalog_category_flat_store_1.entity_id', '=', 'sohyper_region_activity.activity_id')->
    select("magento_catalog_category_flat_store_1.entity_id" , "magento_catalog_category_flat_store_1.parent_id" , "magento_catalog_category_flat_store_1.name as label" ,"magento_catalog_category_flat_store_1.url_key as name")->
    get();

$array = json_decode($query);

虽然我非常确定查询构建器没有返回JSON。

答案 1 :(得分:0)

查询构建器返回一个对象数组。例如查询:

$users = DB::table('users')->select('name')->get();

将返回一个你可以像这样处理的数组

foreach($users as $user) {

    echo $user->name;
}

修改

如果要将其转换为数组,则必须自行完成。

这是一种快速的方法

$users = json_decode(json_encode($users), true);

现在你可以像这样处理它

foreach($users as $user) {

    echo $user['name'];
}