File: D:/HostingSpaces/SBogers10/csb.komma.pro/app/Products/ProductService.php
<?php
namespace App\Products;
use App\Base\Service;
use App\Products\Models\Product;
use Carbon\Carbon;
final class ProductService extends Service
{
/**
* Base query for get Product from DB
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/
private function baseProductQuery()
{
return Product::where('active', 1)
->with('translation', 'images')
->orderBy('lft','asc');
}
/**
* Get all Products
*
* @return \Illuminate\Database\Eloquent\Collection
*/
public function getProducts()
{
return $this->baseProductQuery()->get();
}
/**
* Get Products paginated per $amount on a page
*
* @param int $amountPerPage
* @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
*/
public function getProductsPaginated($amountPerPage = 12)
{
return $this->baseProductQuery()->paginate($amountPerPage);
}
}