i-rocky / eloquent-dynamic-relation
Adds dynamic relationship capability to eloquent ORM models
Installs: 14 404
Dependents: 3
Suggesters: 0
Security: 0
Stars: 19
Watchers: 2
Forks: 1
Open Issues: 0
This package is auto-updated.
Last update: 2023-01-25 16:56:23 UTC
README
See https://laravel.com/docs/8.x/eloquent-relationships#dynamic-relationships
Adds dynamic relationship to Eloquent ORM models
Installation
composer require i-rocky/eloquent-dynamic-relation
Usage
Add the trait Rocky\Eloquent\HasDynamicRelation
to your model as following
use Rocky\Eloquent\HasDynamicRelation; class MyModel extends Model { use HasDynamicRelation; }
Now define a relationship somewhere
In Laravel
you can add this in your AppServiceProvider
's boot
method
MyModel::addDynamicRelation('some_relation', function (MyModel $myModel) { return $myModel->hasMany(SomeRelatedModel::class); });
Now you can use the relation some_relation
as if it's defined in your MyModel
class.
Problem & Inspiration: https://stackoverflow.com/a/54065463/4452100