Laravel 4中的倍数数据库原始选择中的转义值
Posted
技术标签:
【中文标题】Laravel 4中的倍数数据库原始选择中的转义值【英文标题】:Escape values in multiples DB raw select in Laravel 4 【发布时间】:2016-04-17 03:54:45 【问题描述】:在我的查询中,我有类似的内容:
->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
谁能帮帮我?
非常感谢
【问题讨论】:
【参考方案1】:这里的问题可能是您将绑定不是作为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])
)
【讨论】:
以上是关于Laravel 4中的倍数数据库原始选择中的转义值的主要内容,如果未能解决你的问题,请参考以下文章
使用什么作为我的默认值来实现正确的laravel选择在哪里?