如何在laravel中实现此查询?

时间:2018-12-09 10:27:03

标签: mysql laravel

select *
from tr_sewaiklan
where '2018-12-09' BETWEEN tgl_mulai AND tgl_selesai

3 个答案:

答案 0 :(得分:1)

DB::tabe('tr_swaiklan')->where('2018-12-09', '>', $tgl_mulai)->where('2018-12-09', '<', $tgl_selesai)->get();

也可能使用<>运算符

它在官方文档中有很好的描述:https://laravel.com/docs/5.7/queries#where-clauses

答案 1 :(得分:1)

请参见Laravel Eloquent how to use between operator

要在没有模型的情况下进行修补,请尝试

\DB::table('table')->whereBetween('date_field', ['2018-12-09', '2019-01-01'])->get();


来自评论

DB::table('tr_sewaiklan')->where(function ($query) {
    $query
        ->where('tgl_mulai', '<', '2018-12-09')
        ->where('tgl_selesai', '>', '2018-12-09');
});

答案 2 :(得分:0)

最后我解决了原始表达式的问题,因为whereBetween格式是field_date然后是value_date,但是在我的情况下,我的查询格式是value_date然后是field_date。

感谢您的帮助。.

DB::select(DB::raw("SELECT a.* FROM tr_sewaiklan a LEFT JOIN tb_iklanposisi b ON a.id_posisi=b.id WHERE '".date('Y-m-d')."' BETWEEN tgl_mulai AND tgl_selesai"));