i-rocky/eloquent-dynamic-relation

此包已弃用,不再维护。作者建议使用 laravel/framework 包代替。

为 Eloquent ORM 模型添加动态关系功能

1.0.0 2019-04-03 20:24 UTC

This package is auto-updated.

Last update: 2023-01-25 16:56:23 UTC


README

https://laravel.net.cn/docs/8.x/eloquent-relationships#dynamic-relationships

为 Eloquent ORM 模型添加动态关系

安装

composer require i-rocky/eloquent-dynamic-relation

使用方法

将特质 Rocky\Eloquent\HasDynamicRelation 添加到您的模型中,如下所示

use Rocky\Eloquent\HasDynamicRelation;

class MyModel extends Model {
  use HasDynamicRelation;
}

现在在某个地方定义一个关系

Laravel 中,您可以在 AppServiceProviderboot 方法中添加它

MyModel::addDynamicRelation('some_relation', function (MyModel $myModel) {
    return $myModel->hasMany(SomeRelatedModel::class);
});

现在您可以像在 MyModel 类中定义一样使用关系 some_relation

问题 & 启发:https://stackoverflow.com/a/54065463/4452100