usmonaliyev / laravel-db-connection-resolver
v1.0.0
2024-03-25 11:13 UTC
Requires
- php: ^7.4|^8.1
- illuminate/contracts: ^10.0||^11.0
Requires (Dev)
- laravel/pint: ^1.14
README
安装
您可以通过 composer 安装此包
composer require usmonaliyev/laravel-db-connection-resolver
您可以使用以下命令发布配置和迁移文件
php artisan vendor:publish --provider="Usmonaliyev\DbConnectionResolver\DbConnectionResolverServiceProvider"
您可以使用以下命令运行迁移
php artisan migrate
使用方法
将数据库连接添加到您的 config/database.php
文件中
'connections' => [ ... 'pgsql' => [ 'driver' => 'pgsql', 'url' => env('DATABASE_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '5432'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), ... ], 'foo' => [ ... ], 'bar' => [ ... ] ]
您需要在您的 app/Models/User.php
文件中实现 resolveConnectionName
函数。
或者将 Usmonaliyev\DbConnectionResolver\Traits\ConnectionResolver
特性添加到您的 User 类中。
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Laravel\Sanctum\HasApiTokens; use Usmonaliyev\DbConnectionResolver\Traits\ConnectionResolver; class User extends Authenticatable { use ConnectionResolver, HasFactory, HasApiTokens; ...
要在接受请求时解析数据库连接,请将中间件分配给您的路由。
use Usmonaliyev\DbConnectionResolver\Middleware\ConnectionResolverMiddleware; Route::middleware([ConnectionResolverMiddleware::class])->group(function () { Route::get('/', function () { // }); });
许可证
MIT 许可证 (MIT)。