jaspaul / eloquent-sti
eloquent 的一个简单单表继承库。
1.0
2020-01-21 00:16 UTC
Requires
- php: >=7.2
- illuminate/database: ^6.0
- illuminate/support: ^6.0
Requires (Dev)
- mockery/mockery: ^1.0
- orchestra/database: ^4.0
- orchestra/testbench: ^4.0
- phpunit/phpunit: ^8.0
- satooshi/php-coveralls: ^2.0
- squizlabs/php_codesniffer: ^3.2
This package is auto-updated.
Last update: 2024-09-21 20:20:47 UTC
README
安装
通过 Composer
$ composer require jaspaul/eloquent-sti
要求
此版本支持以下 PHP 版本。
- PHP 7.2
- PHP 7.3
- PHP 7.4
使用方法
<?php use Tests\Helpers\User; use Tests\Helpers\Administrator; use Jaspaul\EloquentSTI\Inheritable; use Illuminate\Database\Eloquent\Model; class User extends Model { use Inheritable; /** * Provides a map of types to resolve for this object. The format is: * 'user' => User::class, * 'administrator' => Administrator::class * * @var array */ protected $types = [ 'user' => User::class, 'administrator' => Administrator::class ]; }
<?php class Administrator extends User { }
现在当你通过 User 模型选择用户时,他们将与关联的类型一起返回。例如,如果你在用户表中有一个类型为管理员记录,当你运行 User::where('type', 'administrator')->first()
时,将返回一个 Administrator 对象。