Mȍh*_*mȋm 3 php mysql laravel-5
我只想对控制器内部的一个查询禁用MySQL严格模式,而不对整个laravel应用程序禁用,
我知道禁用MySQL严格模式的风险,因此我不想从config / database.php为整个应用程序禁用它,
我在整个应用程序中仅遇到一个查询,因此我想在我的控制器中禁用它,然后只运行一次查询!
请帮助我有给定情况下的任何方法。
config()->set('database.connections.mysql.strict', false);
\DB::reconnect(); //important as the existing connection if any would be in strict mode
Model::select()->get(); // your query called in non strict mode
//now changing back the strict ON
config()->set('database.connections.mysql.strict', true);
\DB::reconnect();
Run Code Online (Sandbox Code Playgroud)
将其用于 MySQL \xe2\x89\xa45.7 (取自此处):
\n\n\n\nDB::statement("set session sql_mode=\'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\'");\n// your query\nDB::statement("set session sql_mode=\'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\'");\nRun Code Online (Sandbox Code Playgroud)\n
小智 2
在 config/database.php 中,执行如下操作:
'连接' => [
'mysql' => [
// Behave like MySQL 5.6
'strict' => false,
// Behave like MySQL 5.7
'strict' => true,
]
Run Code Online (Sandbox Code Playgroud)
]
| 归档时间: |
|
| 查看次数: |
2587 次 |
| 最近记录: |