想要在Laravel的时间范围内得到结果

时间:2018-06-03 13:08:53

标签: mysql laravel join

我有一些记录,我想从他们那里得到记录,其中项目不在给定的时间范围内,这是我已经尝试但没有成功的代码

$other_hour_trade = DB::table('finaltrade')
        ->join('exchanges', 'finaltrade.exchange_id', '=', 'exchanges.id')
        ->select('finaltrade.*')
        ->where('finaltrade.user_id', $user_id)
        ->whereNotBetween('finaltrade.created_at', [DB::raw('exchanges.start_time'), DB::raw("ADDTIME(exchanges.start_time, '01:00:00')")])
        ->whereNotBetween('finaltrade.created_at', [DB::raw('exchanges.close_time'), DB::raw("SUBTIME(exchanges.close_time, '01:00:00')")])
        ->get();

' finaltrade.created_at'是一个日期时间字段和 ' exchanges.start_time'和' exchanges.close_time'是一个唯一的时间领域

我已加入两张表来获得结果

1 个答案:

答案 0 :(得分:0)

我不知道如何直接使用whereNotBetween来完成这项工作,但由于您已经尝试在当前代码中使用某些原始SQL,为什么不使用{{1而是:

whereRaw