在Laravel中更改基本PDO配置

在Laravel中更改基本PDO配置,laravel,pdo,laravel-5,Laravel,Pdo,Laravel 5,我的共享web主机在查询准备方面有一些问题,我想启用PDO的模拟准备,在config\database.php中没有此选项 在Laravel中有什么方法可以做到这一点吗?您可以在config/Database.php中添加一个“options”数组来向数据库连接添加选项: 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'po

我的共享web主机在查询准备方面有一些问题,我想启用PDO的模拟准备,在
config\database.php
中没有此选项

在Laravel中有什么方法可以做到这一点吗?

您可以在config/Database.php中添加一个“options”数组来向数据库连接添加选项:

    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix' => '',
        'strict' => false,
        'engine' => null,
        // Additional options here
        'options'   => [PDO::ATTR_EMULATE_PREPARES => true, PDO::MYSQL_ATTR_COMPRESS => true,]
    ],
您将看到,我还为我的连接打开了MYSQL\u ATTR\u COMPRESS

您可以在此处找到有关他们内置的某些选项的更多信息:


谢谢,我喜欢看开源软件背后的代码,比如laravel,你是如何找到相应的文件的?为了节省空间,我为你和其他可能感兴趣的人创建了一个要点。在您的问题中,我在illumb/Database/Connectors下搜索了公共DB连接器类“connector”,我通过“API文档”页面搜索了该类。很高兴我能帮忙。享受你的源代码浏览!请注意,此设置ATTR\u EMULATE\u PREPARES=>true将使数据库输出字符串化。例如,tinyint将作为字符串输出