2016-01-12 80 views
0

在我的查詢選擇我有類似:逃生值Laravel 4

->select('User.id', 'city', 'lat', 'lng', 'comment', 'Comments.created_at', 'disponibility', 
     DB::raw("User.*, (count(Comments.user_id)) as note_count"), 
     DB::raw("User.*, (3956 * 2 * ASIN(SQRT(POWER(SIN((:lat - lat) * pi()/180/2), 2) +COS(:lat * pi()/180) * COS(lat * pi()/180) * POWER(SIN((:lng - lng) * pi()/180/2), 2)))/0.621371192) as distance"), 
     ["lat" => $lat, "lng" => $lng] 
)  

是有原因的,它給我的錯誤,我不知道爲什麼

strtolower() expects parameter 1 to be string, array given 

任何人都可以幫助我嗎?

非常感謝

回答

0

這裏的問題可能是,你把你的約束力並不像第二個參數爲DB::raw但作爲論據select方法。

剛剛嘗試,而不是上面的代碼:

->select('User.id', 'city', 'lat', 'lng', 'comment', 'Comments.created_at', 'disponibility', 
     DB::raw("User.*, (count(Comments.user_id)) as note_count"), 
     DB::raw("User.*, (3956 * 2 * ASIN(SQRT(POWER(SIN((:lat - lat) * pi()/180/2), 2) +COS(:lat * pi()/180) * COS(lat * pi()/180) * POWER(SIN((:lng - lng) * pi()/180/2), 2)))/0.621371192) as distance", ["lat" => $lat, "lng" => $lng]) 
)