kkszymanowski/laravel-6-firebird

Laravel 6 的 Firebird 数据库包

6.0.6 2022-03-28 18:33 UTC

This package is auto-updated.

Last update: 2024-08-29 00:00:17 UTC


README

该包受 jacquestvanzuydam/laravel-firebird 的启发,但进行了简化、现代化,并使其与 Laravel 6、7 和 8 兼容。

我不创建自己的 Firebird 数据库,只从现有的数据库中读取,因此 INSERT 和 UPDATE 支持可能不完整。

安装

composer require kkszymanowski/laravel-6-firebird

config/database.php 中添加数据库配置

'connections' => [
    'myFirebirdConnection' => [
        'driver'   => 'firebird',
        'host'     => env('DB_FIREBIRD_HOST', 'localhost'),
        'port'     => env('DB_FIREBIRD_PORT', '3050'),
        'database' => env('DB_FIREBIRD_DATABASE', '/path_to/database.fdb'),
        'username' => env('DB_FIREBIRD_USERNAME', 'SYSDBA'),
        'password' => env('DB_FIREBIRD_PASSWORD', 'masterkey'),
        'charset'  => env('DB_FIREBIRD_CHARSET', 'UTF8'),
    ],

    // ...
],

DB_FIREBIRD_* 环境变量添加到您的 .env 文件中,例如

DB_FIREBIRD_HOST=192.168.0.1
DB_FIREBIRD_PORT=3050
DB_FIREBIRD_DATABASE=C:/DB.FDB
DB_FIREBIRD_USERNAME=user
DB_FIREBIRD_PASSWORD=password
DB_FIREBIRD_CHARSET=ISO-8859-2

用法

Eloquent 作为模型

要覆盖默认数据库连接,在您的 Eloquent 模型中定义 $connection 名称

/**
 * The connection name for the model.
 *
 * @var string
 */
protected $connection = 'myFirebirdConnection';

定义连接名称后,您可以像使用 Eloquent 一样正常使用它

$user = User::where('id', 1)->get();

$users = User::all();

数据库查询

每次您都必须定义连接名称(如果不是默认连接),例如

$sql = 'SELECT * FROM USERS WHERE id = :id';
$bindings = ['id' => 1];
$user = DB::connection('myFirebirdConnection')->select($sql, $bindings);

$users = DB::connection('myFirebirdConnection')->table('USERS')->select('*')->get();