vkoori/laravel-repository
最新稳定版本:0.2.2
Composer 安装命令:
composer require vkoori/laravel-repository
包简介
Base repository for laravel projects
README 文档
README
Laravel Base Repository
A clean, reusable Base Repository class for Laravel apps that helps you organize data access logic using DTOs (Data Transfer Objects) and follow best practices like:
- Separation of concerns
- Reusable query logic
- Type-safe input/output
- Easy extension for model-specific behavior
Installation
You can install the package via Composer:
composer require vkoori/laravel-repository
Usage
- create dto based on this document
- Create a Model-Specific Repository
/** * @extends BaseRepository<User, UserDTO> */ class UserRepository extends BaseRepository { protected function getModel(): User { return new User(); } protected function getDTO(): UserDTO { return new UserDTO(); } }
- Use It in Your Code
$userRepo = new UserRepository(); // Create $userDTO = (new UserDTO())->setName('John')->setEmail('john@example.com')->setActive(true); $user = $userRepo->create($userDTO); // Get all $users = $userRepo->get(); // Searching and pagination $activeDTO = (new UserDTO())->setActive(true); $user = $userRepo->paginate($activeDTO); // Find by ID $user = $userRepo->findById(1); // Load Relations $user = $userRepo->findByIdOrFail(1, ['posts']); // Update $updateDto = (new UserDTO())->setActive(false); $user = $userRepo->update(1, $updateDto); // Delete $userRepo->deleteById(1); // Batch insert $values = [ (new UserDTO())->setName('Alice')->setEmail('alice@example.com'), (new UserDTO())->setName('Bob')->setEmail('bob@example.com'), ]; $userRepo->batchInsert($values);
Available Methods
Here’s a list of all available methods in BaseRepositoryInterface
统计信息
- 总下载量: 4
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2025-07-11