namespace App\Repositories;
use App\Models\User;
use phucnguyenvn\EloquentRepository\Repositories\EloquentRepository;
class UserRepository extends EloquentRepository
{
/**
* Repository constructor.
*/
public function __construct(User $user){
parent::__construct($user);
}
}
namespace App\Repositories;
use App\Models\User;
use phucnguyenvn\EloquentRepository\Repositories\EloquentRepository;
class UserRepository extends EloquentRepository
{
/**
* Repository constructor.
*/
public function __construct(User $user){
parent::__construct($user);
}
public function getAllUser(){
return $this->all();
}
public function getByName($name) {
return $this->where("name", $name)->get();
}
// You can create methods with partial queries
public function filterByProfile($profile) {
return $this->where("profile", $profile);
}
// Them you can use the partial queries into your repositories
public function getAdmins() {
return $this->filterByProfile("admin")->get();
}
public function getEditors() {
return $this->filterByProfile("editor")->get();
}
// You can also use Eager Loading in queries
public function getWithPosts() {
return $this->with("posts")->get();
}
}
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Repositories\UserRepository;
class UserController extends Controller
{
protected function index(UserRepository $repository) {
return $repository->getAdmins();
}
}
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Repositories\UserRepository;
class UserController extends Controller
{
private $userRepository;
public function __construct()(UserRepository $userRepository) {
$this->userRepository = $userRepository;
}
public function index() {
return $this->userRepository->getAllUsers();
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.