Laravel 5.3查询未返回结果

时间:2016-09-26 04:47:13

标签: laravel

我是在laravel 5.3中编写查询但查询不返回任何数据

当我直接在mysql中运行查询时,它的工作

在这里查询

return DB::table('friends')
            ->join('users', function ($join) use ($user_id){
                $join->on(function ($joinin) use ($user_id){
                    $joinin->where('friends.user_one_id', '=', 'users.id')
                        ->where('friends.user_one_id', '!=',$user_id);
                })->orwhere(function ($andwhere) use ($user_id){
                    $andwhere->where('friends.user_two_id', '=' ,'users.id')
                     ->where('friends.user_two_id', '!=' ,$user_id);
                });
            })->where('status','=','1')
            ->where(function ($query) use ($user_id){
                $query->where('user_one_id', '=', $user_id)
                    ->orwhere('user_two_id', '=', $user_id);
            })->get();

并且可以使用Eloquent ORM

进行此查询

1 个答案:

答案 0 :(得分:1)

而不是get(),请尝试添加toSql()并检查结果。这将显示查询构建器已构建的查询,以便您可以将其与您编写的原始查询进行比较,并查看是否可以缩小出错的位置。

此外,该查询在Eloquent中可以正常使用,只需使用Friend::join...而不是DB::table('friends')