arafat69 / laravel-repository
简单的Laravel仓库模式
v1.2.1
2024-06-07 13:20 UTC
README
laravel-repository
简单但强大的Laravel仓库模式
安装
composer require arafat69/laravel-repository
安装包后,您将在 repositories 文件夹内看到一个名为 repository.php 的文件
##创建仓库
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('jon')->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
贡献
您可以创建任何Pull request。