如何在Laravel 5.5之间使用?

时间:2018-03-21 12:50:04

标签: php laravel eloquent laravel-5.5

我试试 得到这样的东西

select * from `users`
inner join `settings`
    on `users`.`id` = `settings`.`user_id`
    and NOW() NOT BETWEEN quit_hour_start AND quit_hour_end
where `notification_key` != ''
    and `device_type` = 'Android'
雄辩地说。有人试图在eloquent中成功构建此查询。 我知道我可以使用\DB::select(DB::raw());并获得我的结果。但我想用Laravel雄辩的方法来使用ie。

======更新已尝试查询的评论========

$androidUser = User::join('settings', function ($join) {
        $join->on('users.id', '=', 'settings.user_id')
        ->where(DB::raw("'$currentTime' NOT BETWEEN quit_hour_start AND quit_hour_end"));
    })
    ->where('notification_key', '!=', '')
    ->where('device_type' ,'=', 'Android')
    ->get();

1 个答案:

答案 0 :(得分:8)

$users = DB::table('users')
                ->whereNotBetween('votes', [1, 100]) // For one column
                ->whereRaw("? NOT BETWEEN quit_hour_start AND quit_hour_end", [$currentTime]) // Use whereRaw for two columns

                ->get();

https://laravel.com/docs/5.5/queries,或者你可以重写