| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <?php
- namespace App\Repositories;
- use App\Models\{{modelName}};
- use App\DTO\{{modelName}}DTO;
- use Illuminate\Database\Eloquent\Collection;
- class {{modelName}}Repository implements {{modelName}}RepositoryInterface
- {
- public function __construct(
- protected {{modelName}} $model
- ){
- }
- public function all(): Collection
- {
- return $this->model->all();
- }
- public function find(int $id): ?{{modelName}}
- {
- return $this->model->find($id);
- }
- public function create({{modelName}}DTO $dto): {{modelName}}
- {
- return $this->model->create($dto->toArray());
- }
- public function update(int $id, {{modelName}}DTO $dto, array $fieldsToUpdate): {{modelName}}
- {
- $record = $this->find($id);
- $updateFields = array_intersect_key(
- $dto->toArray(),
- array_flip($fieldsToUpdate)
- );
- $user->update($updateFields);
- return $user->fresh();
- }
- public function delete(int $id): bool
- {
- return $this->model->destroy($id) > 0;
- }
- }
|