目前正在使用此代码在 mysql 上获取数据并在我的本地主机上运行,但是当我将其上传到我们的 AWS 服务器时它停止排序了吗?
$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();
当我在 AWS 上上传时,是否有什么受到影响?
请注意,我们的数据库位于 RDS 的不同服务器上
最佳答案
您应该为传递给查询的变量设置数据绑定(bind)。
->setBindings([$lat,....])
->get();
在您的查询中,您应该将这些变量替换为 ? 并按照您使用的顺序将这些变量添加到 setBinding 数组中。
关于php - DB::raw 在服务器上上传时会影响吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31720363/