【问题标题】:Join Statement using Query builder with multiple where clause使用带有多个 where 子句的查询生成器加入语句
【发布时间】:2017-12-09 12:46:56
【问题描述】:

我在下面有一个查询构建器语句,我想为查询引入另一个条件。但是,我无法做到这一点。

这个查询工作正常;

$content = DB::table('subscribed_services as a')
->join('scheduled_messages as b', 'a.id', '=', 'b.subscribed_services_id')
->join('subscription_services_msisdn as c', 'a.id', '=', 'c.subscribed_services_id')
->whereRaw('DATE(b.scheduled_at) = CURDATE()')
->selectRaw('b.message, c. phone_number, a.username, a.password')
->distinct()
->get();

我想介绍另一个 where 语句;这个->whereRaw('DATE(c.sent_time) != CURDATE()')。这意味着上面的查询应该只选择 subscription_services_msisdn.sent_time DATE(c.sent_time) IS NOT EQUAL to Current Date CURDATE() 的值。

任何人带我到这里。问候。

【问题讨论】:

    标签: sql laravel join


    【解决方案1】:

    您可以根据需要链接任意多个 where 条件,因此只需在链中添加另一个 whereRaw

    $content = DB::table('subscribed_services as a')
        ->join('scheduled_messages as b', 'a.id', '=', 'b.subscribed_services_id')
        ->join('subscription_services_msisdn as c', 'a.id', '=', 'c.subscribed_services_id')
        ->whereRaw('DATE(b.scheduled_at) = CURDATE()')
        ->whereRaw('DATE(c.sent_time) <> CURDATE()')
        ->selectRaw('b.message, c. phone_number, a.username, a.password')
        ->distinct()
        ->get();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-28
      • 2021-08-16
      • 1970-01-01
      • 2017-10-03
      • 1970-01-01
      • 2013-12-09
      相关资源
      最近更新 更多