linlancer / laravel-eloquent-mysqli
为Laravel 5.4 Eloquent数据库的MySQLi驱动程序(连接器)
1.3.0
2020-07-13 01:42 UTC
Requires
- php: >=7.1.0
- ext-mysqli: *
- illuminate/contracts: 5.8.*
- illuminate/database: 5.8.*
- illuminate/support: 5.8.*
Requires (Dev)
- phpunit/phpunit: ~5.7
This package is auto-updated.
Last update: 2024-09-13 15:19:22 UTC
README
为Laravel 5.4 Eloquent数据库的MySQLi驱动程序(连接器)
安装
- 通过Composer安装
composer require shakahl/laravel-eloquent-mysqli
- 安装后,请在您的项目中的config/app.php中添加提供者。
// app.php 'providers' => [ ... 'LaravelEloquentMySQLi\MySQLiServiceProvider', ],
用法
您应该配置您的数据库连接以使用mysqli
驱动程序。
示例
//... 'connections' => [ 'mysql' => [ 'driver' => 'mysqli', // Sets mysqli driver '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' => env('DB_CHARSET', 'utf8'), 'collation' => env('DB_COLLATION', 'utf8_unicode_ci'), 'prefix' => env('DB_PREFIX', ''), 'timezone' => env('DB_TIMEZONE', '+00:00'), 'strict' => env('DB_STRICT_MODE', false), ], ] //...
注意事项
访问底层的mysqli实例
由于Laravel官方只支持PDO,因此存在一些不一致的方法。您可以在连接实例上使用以下方法来访问原始的、底层的MySQLi实例
$mysqli = DB::connection()->getMySqli(); // or $mysqli = DB::connection()->getReadMySqli(); // or $mysqli = DB::connection()->getPdo(); // or $mysqli = DB::connection()->getReadPdo();
转义
不幸的是,PHP的mysqli驱动程序不支持命名参数绑定,因此此连接器使用了自定义实现。