arafat-web/repository is a Laravel package for simple laravel repository pattern.
It currently has 0 GitHub stars and 12 downloads on Packagist (latest version v1.0.4).
Install it with composer require arafat-web/repository.
Discover more Laravel packages by arafat-web
or browse all Laravel packages to compare alternatives.
Last updated
Simple but powerfull laravel repository pattern
composer require arafat-web/repository
After installing the package you will see a file repository.php is created inside repositories folder
##Make a repository
php artisan make:repository UserRepository
or
// use scope for specific model
php artisan make:repository UserRepository --model=User
//Create
public static function storeByRequest($request): User
{
return self::create([
'first_name' => $request->first_name,
'last_name' => $request->last_name,
'email' => $request->email,
// ...
]);
}
// Update
public static function updateByRequest($request, User $user): User
{
self::update($user, [
'first_name' => $request->first_name,
'last_name' => $request->last_name,
'email' => $request->email,
// ...
]);
// or
$user->update([
// your update data
])
return $user;
}
// etc...
//example UserRepository
use App\Repositories\UserRepository;
// get all user
UserRepository::getAll(); //retun all users
// filter user use query
UserRepository::query()->whereName('john')->get();
// store method call
UserRepository::storeByRequest($request);
// update method call
UserRepository::updateByRequest($request, $user);
//find
UserRepository::find($userID);
//get first recode
UserRepository::first();
// delete recode
UserRepository::delete($userID);
php artisan vendor:publish --tag=stubs
You're open to create any Pull request.