Laravel 5个约会

时间:2017-01-30 19:40:30

标签: laravel eloquent laravel-5.2

我尝试按范围日期检查和设置状态

foreach($reserves as $reserve){


        $table = App\TableDiagram::where('t_number',$reserve->st_number)
            ->first();

        if (App\BusyTable::where('table_diagram_id',$table->id)
            ->where('end','>=',Carbon::now())
            ->first()) {
            $reserve->status = 'active';
        }
        if (App\DepTable::where('table_diagram_id',$table->id)
            ->where('end','>=',Carbon::now())
            ->first()) {
            $reserve->status = 'deposited';
        }
    }
许多人出于某种原因积极参与,但没有通过这个条件 怎么了?

更新

添加屏幕我在做什么

屏幕上的

日期格式刚刚替换为\Carbon\Carbon::parse($reserve->reserve_date)->format('d-m-Y H:i:s')

enter image description here

3 个答案:

答案 0 :(得分:0)

我认为您只需格式化日期。

试试这个

$formattedDate = date('m-d-Y H:i:s',time());

 if (App\BusyTable::where('table_diagram_id',$table->id)
        ->where('end','>=',$formattedDate)
        ->first()) {
        $reserve->status = 'active';
    }
    if (App\DepTable::where('table_diagram_id',$table->id)
        ->where('end','>=',$formattedDate)
        ->first()) {
        $reserve->status = 'deposited';
    }

答案 1 :(得分:0)

您必须使用->whereDate('end', '>=', Carbon::now());->where(\DB::raw("DATE(end) >= '".Carbon::now()."'"));

<强>更新

我会喜欢这个

$table = App\BusyTable::where('table_diagram_id',$table->id)->first();

if (Carbon::now()->lt(Carbon::createFromFormat('Y-m-d H:i:s', $table->end)) {
            $reserve->status = 'active';
        }

答案 2 :(得分:0)

尝试这一点必须有效:

if (App\BusyTable::where( function ($query) use ($table) {
                         $query->where('table_diagram_id',$table->id)
                            ->where('end','>=',Carbon::now()->format('Y-m-d H:i:s'))
                     })->first()) {
    $reserve->status = 'active';
}



if (App\DepTable::where( function ($query) use ($table) {
                     $query->where('table_diagram_id',$table->id)
                        ->where('end','>=',Carbon::now()->format('Y-m-d H:i:s'))
                 })->first()) {
    $reserve->status = 'deposited';
}

希望它对你有所帮助:)。