linlancer/laravel-eloquent-mysqli

为Laravel 5.4 Eloquent数据库的MySQLi驱动程序(连接器)

1.3.0 2020-07-13 01:42 UTC

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驱动程序不支持命名参数绑定,因此此连接器使用了自定义实现。