gridprinciples / repository
该软件包最新版本(0.1.1)没有可用的许可证信息。
0.1.1
2015-11-18 06:08 UTC
Requires (Dev)
- laravel/laravel: ^5.1
- phpunit/phpunit: 4.*
This package is not auto-updated.
Last update: 2024-09-28 19:26:03 UTC
README
为 Laravel 5.1 提供的简单 Eloquent 仓库。
安装
-
在项目目录中运行
composer require gridprinciples/repository
。 -
将以下内容添加到
config/app.php
文件中的providers
数组中GridPrinciples\Repository\RepositoryServiceProvider::class,
-
在应用程序的某个位置创建一个 Repositories 文件夹,例如
app/Repositories
。
使用方法
-
通过扩展 GridPrinciples\Repository 创建新的仓库
<?php namespace App\Repositories; use GridPrinciples\EloquentRepository; class FooRepository extends EloquentRepository { protected static $model = \App\Foo::class; }
-
(推荐) 在你的控制器中使用你的仓库
<?php namespace App\Http\Controllers; use App\Repositories\FooRepository; public function __construct(FooRepository $repository) { $this->repository = $repository; } public function somePage($id) { $model = $this->repository->get($id); if(!$model) { // Model not found. return abort(404); } return view('my_view', [ 'foo' => $model, ]); }
EloquentRepository 包含一些基本的 CRUD 功能
创建
你可以通过传递一个包含数据的数组来调用 save
,以便创建新的模型/记录。
$newModel = $this->repository->save([ 'title' => 'This is indicative of a title', 'description' => 'You might have a description field, perhaps.', ]);
建议你填充模型的 $fillable
数组,以避免大量赋值问题。
读取
你可以使用 get
通过键(通常是 id
)选择一个或多个记录。
$singleModel = $this->repository->get(1); $multipleModels = $this->repository->get([2, 3, 4]);
如果你想要检索多个模型并对它们进行分页,请使用 index
方法。
$pageOfModels = $this->repository->index(10); // 10 records per page
更新
你可以通过使用 save
方法以非常相似的方式更新模型,同样使用 save
方法。
$data = [ 'status' => 'active', ]; $id = 1; $this->repository->save($data, $id);
你还可以将一个键数组作为 save
的第二个参数传递,以一次性更新多个记录。
删除
可以使用 delete
方法轻松删除模型。
$this->repository->delete($id);
你还可以将一个键数组传递给 delete
,以一次性删除多个记录。
许可证
这是一个开源软件,根据 MIT 许可证 授权。