2018-08-29 06:15:11 +00:00
|
|
|
<?php
|
|
|
|
|
2024-02-23 18:36:02 +00:00
|
|
|
namespace App\Repositories\Contracts;
|
2018-08-29 06:15:11 +00:00
|
|
|
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
2022-07-27 15:32:36 +00:00
|
|
|
use Illuminate\Support\Collection;
|
2018-08-29 06:15:11 +00:00
|
|
|
|
|
|
|
interface RepositoryInterface
|
|
|
|
{
|
2024-01-01 20:38:41 +00:00
|
|
|
public function getOne($id): Model;
|
|
|
|
|
|
|
|
public function findOne($id): ?Model;
|
2018-08-29 06:15:11 +00:00
|
|
|
|
2024-04-18 11:27:07 +00:00
|
|
|
/** @return Collection<Model> */
|
2024-05-31 05:40:34 +00:00
|
|
|
public function getMany(array $ids, bool $preserveOrder = false): Collection;
|
2018-08-29 06:15:11 +00:00
|
|
|
|
2024-04-18 11:27:07 +00:00
|
|
|
/** @return Collection<Model> */
|
2018-08-29 06:15:11 +00:00
|
|
|
public function getAll(): Collection;
|
|
|
|
}
|