tjventurini / get-relationship-key
特性与样本配置,用于通过配置管理模型关系。
此软件包的规范存储库似乎已丢失,因此软件包已被冻结。
v0.0.4
2020-02-08 15:30 UTC
Requires
- illuminate/support: ^6.0
This package is auto-updated.
Last update: 2020-10-08 16:56:29 UTC
README
此软件包包含一个特性和样本配置,用于通过配置管理您的模型关系。理念是您不需要为每个关系在模型上添加方法,而是创建特性能将这些方法添加到模型中。这样,您只需为每个模型创建一个特性,而不必为每个关系创建。
安装
要安装此软件包,您只需通过 composer 要求它。
composer require tjventurini/get-relationship-key
使用
在您的模型上包含该特性。
use Tjventurini\GetRelationshipKey\GetRelationshipKey; ... class User extends Authenticatable { ... use GetRelationshipKey; }
然后,您可以通过调用 $this->getRelationshipKey()
来获取模型类名的驼峰表示形式。以下是一些示例。
User => user
OrderItem => order_item
SimpleXML => simple_xml
现在,您不再需要在模型上直接添加关系,而是创建将为您处理此操作的特性。查看特性 Tjventurini\GetRelationshipKey\BelongsToUser
和 Tjventurini\GetRelationshipKey\BelongsToManyUsers
,了解您如何自己编写这样的特性。
配置
要配置此软件包附带使用的 BelongsToUser
和 BelongsToManyUsers
表,只需将以下内容添加到您的 config/database.php
并相应地添加您的值。
/* |-------------------------------------------------------------------------- | Relationships |-------------------------------------------------------------------------- | | In this section you will find all eloquent relationships and the values | to configure them. | */ 'tables' => [ 'user' => 'users', // pivot tables // eg.: // 'user_page' => 'user_page', // 'page_user' => 'page_user', ], 'models' => [ 'user' => \App\User::class, ], 'foreign_keys' => [ 'user' => 'user_id', ],
现在,您应该能够在需要的地方直接添加模型上的关系特性,而不是在多个模型上添加相同的方法。