2015-07-30 8 views
5

Momentan mit diesem Code, um Daten auf mysql und seine Arbeit auf meinem lokalen Host zu holen, aber wenn ich es auf unserem AWS-Server hochgeladen habe, hört es auf zu sortieren?Wirkt sich DB :: raw beim Hochladen auf den Server aus?

$raw = "(3959 * acos(cos(radians('$lat')) * cos(radians('$lat')) * cos(radians(longitude) - radians('$lon')) + sin(radians('$lat')) * sin(radians(latitude)))) AS distance"; 
$stores = DB::table('stores') 
    ->select('storename', 'id', 'photo', 'address', DB::raw($raw)) 
    ->orderBy('distance') 
    ->where('domain', $domain->appEnv) 
    ->take(25) 
    ->get(); 

Ist etwas betroffen, wenn ich auf AWS hochgeladen habe?

Beachten Sie, dass unsere DB für RDS

+4

Verwenden Sie die gleiche DB-Engine für Ihre lokale und AWS? –

+1

verwenden -> where ('domain', $ domain-> appEnv) vor -> orderBy ('distanz') – user4621032

+0

Ich glaube nicht, dass die Reihenfolge der Funktionsaufrufe eine Auswirkung auf die Endabfrage hat. @TheBlurr Wahrscheinlich besteht ein Unterschied in der Umgebung zwischen Ihrer Produktion und den lokalen Datenbanken. Welche Engine verwenden Sie in beiden Fällen? – SArnab

Antwort

0

Sie Variablen setzen sollten verbindliche Daten auf einem anderen Server, die Abfrage übergeben.

->setBindings([$lat,....]) 
->get(); 

In Ihrer Abfrage ersetzen Sie diese Variablen mit? und fügen Sie diese Variablen zu SetBinding Array in der Reihenfolge hinzu, wie Sie verwenden.

Verwandte Themen