Laravel Eloquent Super Relations
al-one/eloquent-super-relations is a Laravel package for laravel eloquent super relations.
It currently has 9 GitHub stars and 792 downloads on Packagist (latest version v1.6.20-beta1).
Install it with composer require al-one/eloquent-super-relations.
Discover more Laravel packages by al-one
or browse all Laravel packages to compare alternatives.
Last updated
# composer.json
"minimum-stability": "dev",
"prefer-stable": true,
$ composer require al-one/eloquent-super-relations -vvv
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Collection;
use Alone\EloquentSuperRelations\HasSuperRelations;
class User extends Model
{
use HasSuperRelations;
public function profile()
{
return $this->hasOne('App\Profile', 'uid');
}
/**
* @return Model|Collection|array|null
*/
public function eagerLoadProfile($relation, $models = [], $where = [])
{
// Get cached data for relation
if(!empty($where['uid'])) {
return cache()->remember("user:profile:{$where['uid']}", 86400, function() use($where) {
return Profile::find($where['uid']);
});
}
// return null for get from database
return null;
}
}
MIT