在laravel 5.5中,类stdClass的对象无法转换为字符串

时间:2017-09-25 17:38:29

标签: php mysql laravel

我有两个名为'users'和'赞助商'的表格 - 首先是'用户',第二个是'赞助商' users

sponsors

我正在尝试从“用户”表中获取用户详细信息,其中“赞助商”表中的所有用户都使用其他用户“user_name”作为其赞助商。我写了一些像bellow-当试图连接表然后得到这个错误。什么应该是正确的查询?请有人帮助我。

$a = Sentinel::getUser()->user_name;
                $m = DB::table('sponsors')
                        ->select('user_name')
                        ->where('sponsor', '=', $a)
                        ->get();
                //dd($m);
                $second_downline_members = DB::table('sponsors')
                                            ->join('users', 'users.id', '=', 'sponsors.user_id')
                                            ->where('users.id', $m)
                                            ->get();
                dd($second_downline_members);

3 个答案:

答案 0 :(得分:0)

$a = Sentinel::getUser()->user_name;
                $m = DB::table('sponsors')
                        ->select('user_name')
                        ->where('sponsor', '=', $a)
                        ->first();
                //dd($m);
                $second_downline_members = DB::table('sponsors')
                                            ->join('users', 'users.id', '=', 'sponsors.user_id')
                                            ->where('users.id', $m->id)
                                            ->get();
                dd($second_downline_members);

试试这个

答案 1 :(得分:0)

$username = Sentinel::getUser()->user_name;
        $user_ids = \DB::table('sponsors')
            ->where('sponsor', $username)
            ->pluck('user_id');

        $users = \DB::table('users')->whereIn('id', $user_ids)->get();

        dd($users);

答案 2 :(得分:0)

将您的选择更改为

->select('user_name', 'id')