PHP / Laravel查询意外失败

时间:2018-11-20 10:07:50

标签: php mysql laravel

我有一个查询,我正在使用Laravel运行,它在我的开发主机上运行得很好,但是当我将其部署到UAT主机时出现错误。我简化了所有示例,以便更轻松地了解正在发生的事情。

简化代码:

DB::select("SELECT c.* 
            FROM (SELECT 0 AS xxx, u.* FROM users u) c
            ORDER  BY c.xxx DESC");

错误:

  

SQLSTATE [42S22]:找不到列:1054'order子句'中的未知列'c.xxx'(SQL:SELECT c。*   FROM(选择0 AS xxx,u。* FROM users u)c   ORDER BY c.xxx DESC)

当我直接在Workbench中运行以下查询时,它绝对可以正常运行:

SELECT c.* 
FROM   (SELECT 0 AS xxx, 
               u.* 
        FROM   users u) c 
ORDER  BY c.xxx DESC 

因此,简而言之,它可以直接在dev DB上工作,可以在dev代码内工作,可以直接在UAT DB上工作,但是在UAT应用程序上失败。

有什么想法为什么数据库查询的行为可能与通过Laravel / php运行的查询有所不同?知道为什么一台机器运行良好,而另一台显示上述错误吗?

0 个答案:

没有答案