First commit for project
This commit is contained in:
37
app/Repository/CategoryRepository.php
Normal file
37
app/Repository/CategoryRepository.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Repository;
|
||||
|
||||
use App\Http\Resources\CategoryCollection;
|
||||
use App\Http\Resources\CategoryResource;
|
||||
use App\Models\Category;
|
||||
use App\Repository\Interfaces\CategoryRepository as CategoryRepositoryInterface;
|
||||
|
||||
class CategoryRepository implements CategoryRepositoryInterface
|
||||
{
|
||||
|
||||
public function __construct(
|
||||
private Category $category
|
||||
) {}
|
||||
|
||||
public function all()
|
||||
{
|
||||
$categories = $this->category
|
||||
->query()
|
||||
->orderby('priority', 'ASC')
|
||||
->orderby('name', 'ASC')->get();
|
||||
return (new CategoryCollection($categories))->collection;
|
||||
}
|
||||
|
||||
public function get(string $slug)
|
||||
{
|
||||
$category = $this->category
|
||||
->query()
|
||||
->where('slug', $slug)
|
||||
->firstOrFail();
|
||||
return new CategoryResource($category);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user