2015-07-30 15 views
5

Hiện đang sử dụng mã này để tìm nạp dữ liệu trên mysql và hoạt động trên máy cục bộ của tôi nhưng khi tôi tải lên máy chủ AWS của mình, nó ngừng phân loại?Liệu DB :: có ảnh hưởng tiêu cực khi được tải lên trên máy chủ không?

$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(); 

Có điều gì đó đang bị ảnh hưởng khi tôi tải lên trên AWS không?

Lưu ý rằng DB của chúng tôi là trên một máy chủ khác nhau cho RDS

+4

Bạn có sử dụng cùng một công cụ DB cho địa phương và AWS của mình không? –

+1

use -> where ('domain', $ domain-> appEnv) trước -> orderBy ('distance') – user4621032

+0

Tôi không nghĩ thứ tự các cuộc gọi hàm có ảnh hưởng đến truy vấn cuối. @TheBlurr rất có thể có sự khác biệt về môi trường giữa cơ sở dữ liệu sản xuất và cơ sở dữ liệu địa phương của bạn. Bạn đang sử dụng động cơ nào trong cả hai trường hợp? – SArnab

Trả lời

0

bạn nên thiết lập dữ liệu ràng buộc cho các biến được truyền cho truy vấn.

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

Trong truy vấn của bạn, bạn thay thế các biến này bằng? và thêm các biến này vào mảng setBinding theo thứ tự khi bạn sử dụng.

Các vấn đề liên quan