2016-11-13 4 views
0

Ich benutze Laravel und ich möchte Datensätze zwischen zwei Daten erhalten. Im Frontend verwende ich daterangepicker und ich schreibe:Laravel - Holen Sie Datensätze zwischen zwei Daten mit Ajax

$('#reportrange').on('apply.daterangepicker', function(ev, picker) { 
    var start = picker.startDate.format('YYYY-MM-DD'); 
    var end = picker.endDate.format('YYYY-MM-DD'); 

$.ajaxSetup({ 
       headers: { 
        'X-XSRF-Token': $('meta[name="_token"]').attr('content') 
       } 
      }); 

      $.ajax({ 
     type: "POST", 
       url : '{{url()}}/getOrders', 
data: {start: start, end: end}, 
       cache : false, 

       beforeSend : function() { 
        console.log('krece'); 
       }, 

       success : function(data) { 
        console.log(data); 

       }, 

       error : function() { 

       } 
      }); 


}); 

so versuche ich, Start- und Enddatum zu senden und erhalten Daten zwischen und in Laravel ich habe:

Route:

Route::post('/getOrders', '[email protected]'); 

und in Orders:

public function getOrders(Request $request) { 
    $start = $request->start; 
    $end = $request->end; 

//ALSO NEED QUESRY WHICH WILL FETCH ROWS BETWEEN DATES 
//$orders = Auth::user()->orders()->get(); ... ... 

    return $orders; 

    } 

jetzt, wenn ich einige Termine in daterangepicker wählen erhalte ich:

POST http://localhost:8888/getOrders 500 (Internal Server Error) 

Was ist ein Problem?

Off cource in Header Ich habe:

<meta name="csrf-token" content="{{ csrf_token() }}" /> 

Wie Aufzeichnungen zwischen Daten ith Laravel und Jquery Ajax zu bekommen?

+0

created_at ist der Name der Spalte in Bestellungen Tabelle ... –

Antwort

1

können Sie die Verwendung von whereBetween() nehmen Ergebnisse zwischen Daten zu erhalten:

$orders = Auth::user() 
      ->orders() 
      ->whereBetween('created_at', [$start_date, $end_date]) 
      ->get(); 

hoffe, das hilft!

1

Für die Abfrage können Sie tun, wie:

$orders = Auth::user()->orders() 
         ->whereBetween('created_at', array($start, $end)) 
         ->get(); 

Und für die 500 (Internal Server Error) Sie können Ihre laravel.log Datei überprüfen.

+0

laravel.log sagen: ... ... te \ Pipeline \ Pipeline.php (103): call_user_func (Objekt (Closure), Objekt (Illuminate \ Http \ Anfrage)) # 19 C: \ wamp \ www \ dine \ hersteller \ laravel \ framework \ src \ Illuminate \ Foundation \ Http \ Kernel.php (122): Leuchtet \ Pipeline \ Pipeline-> dann (Object (Closure)) # 20 C: \ wamp \ www \ dine \ Hersteller \ Laravel \ Framework \ src \ Illuminate \ Foundation \ Http \ Kernel.php (87): Leuchtet \ Foundation \ Http \ Kernel-> sendRequestThroughRouter (Objekt (Illuminate \ Http \ Anfrage)) # 21 C: \ wamp \ www \ dine \ public \ index.php (54): Leuchtet \ Foundation \ Http \ Kernel-> handle (Objekt (Illuminate \ Http \ Request)) # 22 {main} –

+0

Der Fehler ist hier in Kommentaren nicht lesbar. Sie können es in Ihre Abfrage einfügen oder ein Bild funktioniert auch. –

Verwandte Themen