【问题标题】:How to make leftjoin in laravel 5.4如何在 laravel 5.4 中进行左连接
【发布时间】:2018-08-08 16:05:51
【问题描述】:

我有两张桌子 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();

【问题讨论】:

    标签: mysql join laravel-5 left-join right-to-left


    【解决方案1】:
       $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();
    

    【讨论】:

    • 您好,感谢您的回复。我已经使用了这个查询,但我得到了所有行。当我删除“->where('orders.status',0)”这一行然后返回所有行。需要所有行。
    猜你喜欢
    • 2015-04-13
    • 2017-03-18
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    • 2022-01-05
    • 2022-01-14
    相关资源
    最近更新 更多