2016-05-25 19 views
4

Ich habe eine Zeitlang versucht, Zeit in meiner Datenbank im Zeitformat wie 10:00:00 zu sparen.Wie spart man Zeit in der Datenbank im Zeitformat in Laravel 5?

Was ich will ist einfach Abholzeit von timepicker und speichern data(time) in timeformat. Hier

ist das, was ich getan habe:

  • ich verwendet habe timepicker wie es Daten im Format bekommt 10:52 AM.

  • Ich habe Accessormethoden verwendet, um Zeit zu sparen, wie folgt:

    public function setRTimeAttribute($value) 
    { 
        $this->attributes['r_time'] = date('h:i:A', strtotime($value)); 
    } 
    
  • Mein Post-Controller, falls erforderlich wie folgt:

    public function postSessionReservation(Request $request,$profile_slug) 
    { 
        $restaurant = Restaurant::where('slug_profile', $profile_slug)->select('name','ar_name','slug_profile','id')->firstOrFail(); 
    
        $this->validate($request,[ 
         'no_of_seats'=>'required', 
         'r_date'=>'required', 
         'r_time'=>'required', 
         'restaurant_id'=>'required', 
        ]); 
        $data = [ 
         'no_of_seats'=>$request->no_of_seats, 
         'r_date'=>$request->r_date, 
         'r_time'=>$request->r_time, 
         'restaurant_id'=>$request->restaurant_id 
        ]; 
        $minutes = 1; 
    
        Session::put('reservation',json_encode($data),$minutes); 
    
        return redirect($restaurant->slug_profile.'/complete-reservation'); 
    } 
    

Aber es spart die Zeit als 12:00:00 jedes Mal.

Ich weiß nicht, wie 12:00:00 generiert wird, wenn ich die Zeit speichern. Ich habe viel ausprobiert, konnte es aber nicht herausfinden.

Hoffe ihr Jungs wird mir helfen, das zu lösen.

Vielen Dank im Voraus.

+0

dieses Datum Versuchen ('h: i: s', strtotime ($ value)) – vijaykumar

+0

Und was war der Feldtyp in der Datenbank? – vijaykumar

+0

Datum ('h: i; s;) auch geben gleiche 12:00:00 Wert in der Datenbank.Feldtyp ist Zeit in der Datenbank @ vijaykumar –

Antwort

3

Erste Räume zwischen Zeit entfernen „10: 52 Uhr“ bis „10.52“ und dann Zeile dieses werde ich es schon sicher helfen, dieses

$this->attributes['r_time'] = date("h:i", strtotime($value)); 

Änderungen testen.

Zum Beispiel können Sie Leerzeichen entfernen durch

$a = '10 : 52 PM'; 
$x = preg_replace('/\s*:\s*/', ':', $a); 
date("H:i", strtotime($x)); 
+0

gut, wie kann ich Leerzeichen entfernen.Könnten Sie bitte erarbeiten? Ich benutze jquery timepeicker, um Zeit zu bekommen @Ali –

+0

oh sry hat deinen Punkt.Erstens muss ich Leerzeichen entfernen.Sie sparen wirklich meine Zeit.Vielen Dank @Ali –

+1

$ string = str_replace ('', '', $ value); $ this-> Attribute ['r_time'] = Datum ("h: i: s", strtotime ($ string)); Ich mochte das und funktioniert wie Charme. –

Verwandte Themen