为 Laravel 5 的 Redbean ORM 桥接器
Requires
- php: >=5.5.0
- gabordemooij/redbean: ~4.2
- illuminate/auth: ~5.2
- illuminate/container: ~5.2
- illuminate/contracts: ~5.2
- illuminate/support: ~5.2
README
为 Laravel 5 的 Redbean ORM 桥接器
安装
需要此包
composer require laravel-redbean/orm
添加包后,将 ServiceProvider 添加到 config/app.php 中的 providers 数组中
LaravelRedbean\ORM\RedbeanServiceProvider::class,
要发布配置,请使用
php artisan vendor:publish
用法
默认情况下,Redbean 将使用 config/database.php 中的默认连接。
现在您可以像平常一样使用 Redbean。请阅读Redbean 文档。
多个连接
您可以通过在 config/redbean.php 中设置 multiple_connections => true, 来使用多个数据库连接,这将尝试添加 config/database.php 中 connections 的每个连接。
通过传递 connections 中的连接名称到 RedBeanPHP\R::selectDatabase('connection_name');,您将得到所需的连接。例如,如果您想连接到 mysql
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'database' => database_path('database.sqlite'),
'prefix' => '',
],
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
],
选择 mysql 连接
RedBeanPHP\R::selectDatabase('mysql');
身份验证
该包提供了一个默认的用户模型 (LaravelRedbean\ORM\User::class),您可以使用它或基于它创建自己的模型。
实现 Authenticatable
您的用户模型必须扩展 RedBeanPHP\SimpleModel 并实现 Illuminate\Contracts\Auth\Authenticatable 协议。
您还可以在您的模型中使用提供的 trait LaravelRedbean\ORM\Auth\Authenticatable 并在必要时进行覆盖。
配置 Laravel
编辑 Laravel 的 Auth 配置 (/config/auth.php) 以使用 Redbean。
将用户提供者设置为以下内容
'users' => [
'driver' => 'redbean',
'model' => LaravelRedbean\ORM\User::class,
],
密码重置
您的用户模型必须实现 Illuminate\Contracts\Auth\CanResetPassword 协议。
您还可以在您的模型中使用提供的 trait LaravelRedbean\ORM\Auth\Passwords\CanResetPassword 并在必要时进行覆盖。