Laravel - 比日期语法更少/更大的地方

时间:2016-12-16 08:59:18

标签: php laravel

这没有显示正确的计数。什么是正确的语法?

$this->data['Tasks'] = \DB::table('tb_tasks')->where('Status', 'like', 'Open%')->whereDate('DeadLine', '>', 'CURDATE()')->count();

3 个答案:

答案 0 :(得分:25)

使用Carbon实例:

$this->data['Tasks'] = \DB::table('tb_tasks')->where('Status', 'like', 'Open%')->whereDate('DeadLine', '>', Carbon::now())->count();

答案 1 :(得分:6)

使用DB::raw

->where('datefield', '>', \DB::raw('NOW()'))

答案 2 :(得分:2)

我们也可以尝试这个。它对我有用。

    $date = "2020-04-10";

    /* 
    Assumimng DB `login_date` datetime format is "Y-m-d H:i:s"
    */

    $from_date = $date.' 00:00:01';

    ->where('login_date', '>=', $from_date);

通过在查询中添加Where子句,我们可以找到具有 在特定日期之后的行。

选项2:

$date = "2020-03-25";    // Format: date('Y-m-d);

$orders = DB::table('orders')
               ->select('*')
               ->whereDate('order_datetime', '<=', $date)
               ->get();

// Here, Table Field "order_datetime", type is "datetime" 
// Assuming DB `order_datetime` stores value format like: "Y-m-d H:i:s"