shakahl / laravel-eloquent-mysqli
Laravel 8.x Eloquent 数据库的 MySQLi 驱动(连接器)
dev-master
2020-12-09 21:46 UTC
Requires
- php: >=7.2
- illuminate/contracts: 8.*
- illuminate/database: 8.*
- illuminate/support: 8.*
Requires (Dev)
- phpunit/phpunit: ~5.7
This package is not auto-updated.
Last update: 2024-09-15 02:16:42 UTC
README
MySQLi 驱动(连接器)用于 Laravel 8.x Eloquent 数据库
安装
- 使用 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 驱动不支持命名参数绑定,因此此连接器使用自定义实现。