ekequent模型中id周围的引号在生产站点上是必需的,但不适用于localhost

Sha*_*ard 7 php mysql laravel laravel-5

所以我有一个查询,在我的生产安装中需要在'where'方法中的"id"周围引用,否则不返回任何结果.在我的本地安装上,正好相反.如果我使用报价,它就不起作用了.

生产

'invoices' => Auth::user()->invoices->where('paid', "0")

本地主机

'invoices' => Auth::user()->invoices->where('paid', 0)

这真的很奇怪,每当我从github部署时,我都非常想进入并改变它.这是一个常见的问题吗?我似乎找不到任何关于它的东西.

我将列出一些Laravel查询日志:

在int周围进行本地安装(不工作)

Array ( 
    [0] => Array ( 
        [query] => select * from `users` where `users`.`id` = ? limit 1 
        [bindings] => Array ( 
            [0] => 1 
        ) 
        [time] => 10.49 
    )
    [1] => Array ( 
        [query] => select * from `invoices` where `invoices`.`user_id` = ? and `invoices`.`user_id` is not null 
        [bindings] => Array ( 
            [0] => 1 
        ) 
        [time] => 1.39 
    ) 
)
Run Code Online (Sandbox Code Playgroud)

在int(工作)周围没有引用的本地安装

Array (     
    [0] => Array ( 
        [query] => select * from `users` where `users`.`id` = ? limit 1 
        [bindings] => Array ( 
            [0] => 1 
        ) 
        [time] => 0.84 
    ) 
    [1] => Array ( 
        [query] => select * from `invoices` where `invoices`.`user_id` = ? and `invoices`.`user_id` is not null 
        [bindings] => Array ( 
            [0] => 1 
        ) 
        [time] => 1.15 
    ) 
)
Run Code Online (Sandbox Code Playgroud)

生产安装没有引用int(不工作)

Array ( 
    [0] => Array ( 
        [query] => select * from `users` where `users`.`id` = ? limit 1
        [bindings] => Array ( 
            [0] => 1 
        ) 
        [time] => 2.3 
    ) 
    [1] => Array ( 
        [query] => select * from `invoices` where `invoices`.`user_id` = ? and `invoices`.`user_id` is not null 
        [bindings] => Array ( 
            [0] => 1 
        ) 
        [time] => 0.67 
    ) 
)
Run Code Online (Sandbox Code Playgroud)

围绕int(工作)报价的生产安装

Array ( 
    [0] => Array ( 
        [query] => select * from `users` where `users`.`id` = ? limit 1 
        [bindings] => Array ( 
            [0] => 1 
        ) 
        [time] => 0.88 
    ) 
    [1] => Array ( 
        [query] => select * from `invoices` where `invoices`.`user_id` = ? and `invoices`.`user_id` is not null 
        [bindings] => Array ( 
            [0] => 1 
        ) 
        [time] => 0.81 
    ) 
)
Run Code Online (Sandbox Code Playgroud)

解:

事实证明我没有mysqlnd作为我服务器上的活动驱动程序.激活它解决了这个问题.

Sha*_*ard 0

事实证明,我的服务器上没有 mysqlnd 作为活动驱动程序。激活它解决了这个问题。我使用以下命令执行此操作:

yum remove php-mysql

yum install php-mysqlnd

php -m | grep mysqlnd