2017-01-30 6 views
0

Ich habe versucht, Kontrolle und stellen Sie den Status von Bereich DatumLaravel 5 Tage,

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'; 
     } 
    } 

viele aus irgendeinem Grund eine aktive, aber nicht passieren unter der Bedingung , was falsch ist?

UPDATE

hinzugefügt Bildschirm, was ich

Datumsformat auf dem Bildschirm wie \Carbon\Carbon::parse($reserve->reserve_date)->format('d-m-Y H:i:s')

enter image description here

+0

was ist Ihr Datumsformat 'end' Spalte? Kannst du ein Beispiel geben? – Vikash

+0

@Vikash 'Y-m-d H: ich: s' – Rai

+0

Versuchen Sie meine bearbeitete Antwort – Vikash

Antwort

0

ersetzt nur das tun, ich glaube, Sie müssen nur Ihr Datumsformat.

Versuchen Sie, diese

$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'; 
    } 
+0

Nein, Sie nicht verstehen, ich nicht $ active_reserve – Rai

+0

ok vergleichen. Bitte sagen Sie mir Ihr Datumsformat an einem Beispiel? – Vikash

+0

Sie müssen Ihr Datum formatieren Sie können auch 'Carbon :: now() -> timestamp' anstelle von' time() ' – Vikash

0

Sie haben entweder ->whereDate('end', '>=', Carbon::now()); oder ->where(\DB::raw("DATE(end) >= '".Carbon::now()."'"));

UPDATE

Ich mag dieses dieses es Mus

$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'; 
     } 
+0

Ich tat es, aber nicht funktioniert – Rai

+0

Könnten Sie bitte zeigen, wie du es gemacht hast? Auch bitte Laravel Version und Ergebnis –

+0

@Rai überprüfen Sie mein Update bitte –

0

Versuchen Sie tun würde, verwenden, t Arbeit:

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'; 
} 

Hoffe, dass es Ihnen helfen :)