hacoidev / laravel-caching-model
A simple cache library for laravel eloquent model
Installs: 6 370
Dependents: 6
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 8
Open Issues: 0
Requires
- php: ^7.0|^8.0
- laravel/framework: ^6.0|^7.0|^8.0
README
- Simple package for caching laravel eloquent model
- Support retrieve model stored in cache store by id (or other primary key)
Usage
- Implement Cacheable interface then use HasCache trait:
use Hacoidev\CachingModel\Contracts\Cacheable; use Hacoidev\CachingModel\HasCache; class Setting extends Model implements Cacheable { use HasCache; ... }
- use
fromCache()
static method to retrieve model data from cache storage
$cachedInstance = Setting::fromCache()->find($key);
Available methods:
- public static function primaryCacheKey(): string;
- Return primary key for creating cache key
- Default: id
- public static function getCacheKey($id): string;
- Return cache key for specific instance with primary key is $id
- public static function cacheTimeout(): int;
- Return cache timeout
- public function scopeCacheWithRelation($query);
- Specific relationship will cache together model
public function scopeCacheWithRelation($query) { return $query->with('relationship:id); }