定制 rkooistra/super-eloquent-repository 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

rkooistra/super-eloquent-repository

Composer 安装命令:

composer require rkooistra/super-eloquent-repository

包简介

A concrete repository for Eloquent models to allow quick implementation of common functionalities, such as CRUD and search methods. Save yourself the boring stuff.

README 文档

README

Introduction

Welcome to the Super Eloquent Repository library package! This library has the simple use of eliminating having to write the same method over and over again for all your Repositories, allowing you to do the fun programming.

The package is basically a concrete superclass which you can extend all your default Eloquent repositories with. This superclass contains all basic functionalities which you would normally have to write again and again for normal CRUD methods.

How to install and use the package

  • Implement this package into your project by running composer require rkooistra/super-eloquent-repository.
  • Create a class which extends the RKooistra\SuperEloquentRepository\Abstracts\ConcreteResourceRepository package.
  • You must implement the getModel() stub per the inheritance rules; configure this to return the class of your respective model, ie:
    /** @return string <Return the full path to the class here.> */
    protected function getModelClass(): string
    {
        return \App\Entities\User::class;
    }
  • You should now be able to use all of the implemented methods!

Available methods (per 19-12-2019)

public function getModel(): Builder;
public function setConnection($connection);
public function getAll(array $selectKeys = null, array $relations = null);
public function findByKey(
    string $key,
    string $value,
    array $selectKeys = null,
    array $relations = null
): Collection;
public function findByKeyWhereIn(
    string $key,
    array $array,
    array $selectKeys = null
): Collection;
public function findByKeyWhereNotIn(
    string $key,
    array $array,
    array $selectKeys = null
): Collection;
public function findOrFail(int $id, array $selectKeys = null): Model;
public function getAllResources (array $selectKeys = [], array $relations = []): Collection;
public function getAllResourcesWhereHas (string $whereHasRelation, $whereHasCallback, array $selectKeys = [], array $relations = []): Collection;
public function findByKeyWhereLike(string $key, string $value, array $selectKeys = null, array $relations = null): Collection;
public function updateResource(int $id, array $fields): int;
public function createResourceByArray(array $array): Model;
public function destroy(string $selectKey, array $ids): int;
public function destroyWhereNotIn(string $selectKey, array $ids): int;
public function firstOrCreate(array $insertables, string $identifierKey = 'id', array $selectKeys = [], array $relations = []): Model;
public function updateFirstOrCreate(array $insertables, string $identifierKey = 'id', array $selectKeys = [], array $relations = []): Model;

统计信息

  • 总下载量: 2.98k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 3
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-12-19

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固