2016-05-05 14 views
0
$results = DB::selectRaw("idEvent, name, latitude, longitude, dateStart, dateEnd, timeStart, timeEnd, 
          (6371 * acos(cos(radians(?)) * 
           cos(radians(latitude)) 
           * cos(radians(longitude) - radians(?) 
           ) + sin(radians(?)) * 
           sin(radians(latitude))) 
          ) AS distance", [$latitude], [$longitude], [$latitude]) 
      ->where('active', '1') 
      ->having("distance", "<", $radius) 
      ->orderBy("distance") 
      ->get(); 

我發現這個查詢,這是我想使用,但與口才一樣的,但我有Laravel - 的MySqlConnection「沒有一個方法‘selectRaw’

的MySqlConnection」沒有一個方法'selectRaw'。

  • 是selectRaw正確的,使原材料查詢,但用洋洋灑灑的一點點?
  • 數據庫是我必須創建的東西還是我可以讓它保持原樣?

回答

0

問題解決

$results= DB::table('events') 
          ->select(DB::raw('name,(6371 * acos(cos(radians(?)) * cos(radians(latitude)) * cos(radians(longitude) - radians(?)) + sin(radians(?)) * sin(radians(latitude)))) AS distance')) 
          ->addBinding($latitude, 'select') 
          ->addBinding($longitude, 'select') 
          ->addBinding($latitude, 'select') 
          ->having("distance", "<", $radius) 
          ->orderBy("distance") 
          ->get(); 


     return Response::json($users); 

我停止使用selectRaw和使用addBinding我的查詢中插入參數。

+0

我收到錯誤,因爲調用未定義的函數radians() – Learner

相關問題