1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?php
- namespace App\Services;
- use Cache;
- use Illuminate\Support\Facades\Redis;
- use App\{
- Follower,
- Profile
- };
- class ProfileService {
- protected $profile;
- protected $profile_prefix;
- public static function build()
- {
- return new self();
- }
- public function profile(Profile $profile)
- {
- $this->profile = $profile;
- $this->profile_prefix = 'profile:model:'.$profile->id;
- return $this;
- }
- public function profileId($id)
- {
- return Cache::rememberForever('profile:model:'.$id, function() use($id) {
- return Profile::findOrFail($id);
- });
- }
- public function get()
- {
- return Cache::rememberForever($this->profile_prefix, function() {
- return $this->profile;
- });
- }
- }
|