Laravel Eloquent 关联模型查询缓存数据
Laravel Eloquent Super Relations
安装
# 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 Alone\EloquentSuperRelations\HasSuperRelations;
class User extends Model
{
use HasSuperRelations;
public function profile()
{
return $this->hasOne('App\Profile','uid');
}
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;
}
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: