在Laravel 5.0中,对一个非对象调用toJson()成员函数。

6

从下面的代码参考中,我将用户表、user_details表和user_config表连接在一起,每条记录都有相似的键,这没有问题(它可以工作),但当我尝试将结果记录转换为JSON数组时,它给出了此错误:

调用非对象的成员函数toJson()

public function get_users_table(){
       $users = DB::table('users')
        ->join('user_details', 'users.id', '=', 'user_details.id')
        ->join('user_config', 'users.id', '=', 'user_config.id')
        //->select('users.*', 'contacts.phone', 'orders.price')
        ->get()->toJson();

       return response()->json(['success' => true, 'users' => $users]);
    }
有什么想法,需要帮忙吗?

3
你不需要使用 ->toJson(),因为你的响应类型是 json,它会处理它。 - Kalhan.Toress
谢谢!那很快也很简单。 - Juliver Galleto
1
通常情况下,你只需要将->get()替换为->toJson()来获取一个JSON编码的字符串。但是根据@K.Toress的指出,在你的情况下这是多余的,因为响应会自动处理转换。 - Bogdan
1个回答

9

get() 返回的是一个数组而不是对象。你可以简单地使用 json_encode($users)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,