patinthehat / laravel-dynamic-relations
dynamic relations for Laravel and Lumen
Installs: 482
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 2
Open Issues: 0
pkg:composer/patinthehat/laravel-dynamic-relations
Requires
- php: >=5.6.4
This package is not auto-updated.
Last update: 2025-10-26 02:38:00 UTC
README
Laravel DynamicRelations
An extension of Illuminate\Database\Eloquent\Model that allows relationships to be called as dynamic properties, such as:
$prop = "myProp"; $user->$prop->toArray();
####Installation
Install with composer: composer require patinthehat/laravel-dynamic-relations
####Usage
To use, extend the DynamicModel class. In the child class, override the $dynamicRelations array property, adding items that correlate to relation names.
namespace App\Models; use Permafrost\DynamicRelations\DynamicModel; class User extends DynamicModel { public static $dynamicRelations = [ 'abc', 'def', ]; public function abc() { return $this->hasMany('App\Models\Abc'); } public function def() { return $this->hasMany('App\Models\Def'); } }
Now, your relations can be accessed dynamically:
$user = User::find(1); $prop = "abc"; $user->$prop->toArray();