File: D:/HostingSpaces/SBogers10/honger7.komma.pro/app/KommaApp/Services/ServiceService.php
<?php
/**
* Created by PhpStorm.
* User: mike
* Date: 18/05/17
* Time: 22:02
*/
namespace App\KommaApp\Services;
use Illuminate\Support\Facades\Cache;
class ServiceService
{
private $services = [];
/**
* Get all services
*/
public function all()
{
if(empty($this->services))
$this->services = Cache::remember('services',1440,function(){
return Service::all();
});
return $this->services;
}
/**
* Return service by slug
*
* @param $slug
*/
public function serviceBySlug($slug)
{
return Cache::remember('service.' . $slug,1440,function() use ($slug)
{
return Service::where('slug',$slug)->first();
});
}
/**
* Return next service by current slug
*
* @param $slug
*/
public function nextServiceBySlug($slug)
{
// Get current service
$currentService = $this->serviceBySlug($slug);
// Find next service by next id
// Todo: refactor when data comes from KMS
return Cache::remember('nextService.' . $slug,1440,function() use ($currentService)
{
return Service::where('id','>',$currentService->id)->first();
});
}
}