【问题标题】:Does DB::raw affect when uploaded on server?上传到服务器时 DB::raw 会影响吗?
【发布时间】:2015-10-21 14:37:39
【问题描述】:

目前使用此代码在 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 服务器上

【问题讨论】:

  • 你的本地和 AWS 使用相同的数据库引擎吗?
  • 使用 ->where('domain',$domain->appEnv) before ->orderBy('distance')
  • 我不认为函数调用的顺序对结束查询有影响。 @TheBlurr 您的生产数据库和本地数据库之间可能存在环境差异。你在这两种情况下都使用什么引擎?
  • @EdwardSamuel 我正在使用我的本地数据库
  • @user4621032 没有区别

标签: php mysql laravel amazon-web-services laravel-4


【解决方案1】:

您应该为传递给查询的变量设置数据绑定。

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

在您的查询中,您应该将这些变量替换为 ? 并按照您使用的顺序将这些变量添加到 setBinding 数组中。

【讨论】:

    猜你喜欢
    • 2012-02-21
    • 2014-04-08
    • 2015-10-06
    • 2016-08-24
    • 2012-05-17
    • 1970-01-01
    • 2016-08-10
    • 2014-09-15
    • 1970-01-01
    相关资源
    最近更新 更多