Join Laravel 4-查询生成器左连接

Join Laravel 4-查询生成器左连接,join,laravel,left-join,Join,Laravel,Left Join,我想执行Laravel4查询生成器左连接。这是我的密码: $settings = DB::table('settings') ->leftJoin('users', 'settings.user_id', '=', 'users.user_id')->get(); 通过这部分代码,我从两个数据库表中获取所有字段。我想从设置表中获取所有字段,但只从用户表中获取国家和货币字段。有人能帮我解决这个问题吗?而不是使用->get()获取所有需要的列。使用->select()说出需要哪些列,

我想执行Laravel4查询生成器左连接。这是我的密码:

$settings = DB::table('settings')
 ->leftJoin('users', 'settings.user_id', '=', 'users.user_id')->get();

通过这部分代码,我从两个数据库表中获取所有字段。我想从设置表中获取所有字段,但只从用户表中获取国家和货币字段。有人能帮我解决这个问题吗?

而不是使用
->get()
获取所有需要的列。使用
->select()
说出需要哪些列,然后使用
get()


您可以尝试此操作,将字段作为数组传递到
get()
中进行选择:

$settings = DB::table('settings')
              ->leftJoin('users', 'settings.user_id', '=', 'users.user_id')
              ->get(array('settings.*', 'users.country', 'users.currency'));
使用
->选择('settings.*,'users.country','users.currency')
您仍然需要在最后调用
get()
,如下所示:

$settings = DB::table('settings')
              ->leftJoin('users', 'settings.user_id', '=', 'users.user_id')
              ->select('settings.*', 'users.country', 'users.currency')->get();

是否需要->get()结束,我想将结果作为JSON响应发送?谢谢。在这种情况下,您需要在选择后调用
get()
。谢谢您的回答!
$settings = DB::table('settings')
              ->leftJoin('users', 'settings.user_id', '=', 'users.user_id')
              ->select('settings.*', 'users.country', 'users.currency')->get();