Per esempio ho bisogno di trovare un utente il cui status
è 0 e il suo nome è John
. Quindi, oltre ai soliti metodi per un modello di repository (ad esempio find
, create
), decido di creare un metodo in UsersRepository
chiamato findJohnWithStatusZero
o di essere più generico, un metodo chiamato findUserWithStatusAndName
UsersRepository.php
<?php
class UsersRepository
{
public function create(array $data)
{
//
}
public function find($id)
{
//
}
public function findUserWithStatusAndName($status, $name)
{
return User::where('status', $status) -> where('name', $name) -> first();
}
}
controller.php:
...
public function index(UsersRepository $users)
{
$john_zero = $users -> findUserWithStatusAndName(0, 'john');
}
...
Voglio sapere, se utilizzo questi metodi personalizzati nel mio repository, violino i principi del modello di repository?
Modifica: ho fornito un nome di metodo più generico anziché findJohnWithStatusZero