如何在laravel 5.4中进行左连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在laravel 5.4中进行左连接相关的知识,希望对你有一定的参考价值。

我有两个表1)客户2)订单。我试图制作leftjoin,但我得不到我想要的正确结果。请看下面的图片。

谢谢

ClientController.php

$clients = Client::leftjoin('orders','orders.client_id','=','clients.id')
                    ->select(DB::raw("count(orders.id) as orderCount"),
                    'clients.name as name','clients.email as email',
                    'clients.phone as phone','clients.country as country',
                    'orders.total_amount')
                    ->where('orders.status',0)
                    ->get();

enter image description here

答案
   $myevents = DB::table('users')
        ->join('event_model_user', 'users.id', '=', 'event_model_user.user_id')
        ->rightJoin('events', 'event_model_user.event_model_id', '=', 'events.id')
        ->where('users.id','=',$user->id)
        ->orWhere('events.bookable','=',$user->zipcode)
        ->get();

这是我使用正确的联接来获取没有用户做过任何预订的事件的示例!

在你的情况下,这将是(未经测试)

 $myevents = DB::table('clients')
        ->leftJoin('orders','orders.client_id','=','clients.id')
        ->where('orders.status',0)
        ->get();

以上是关于如何在laravel 5.4中进行左连接的主要内容,如果未能解决你的问题,请参考以下文章

如何使用左连接和内连接编写 laravel 查询?

Laravel 5.4 - 如何对急切加载关系进行分页

laravel框架 5.4自定义报错页面设置

如何在laravel 5.4中强制删除

如何在 Laravel 5.1 中编写这个(左连接、子查询)?

如何在 Laravel 5.4 中添加自定义用户提供程序