latevaweb/laravel-query-updater 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

latevaweb/laravel-query-updater

最新稳定版本:0.1.5

Composer 安装命令:

composer require latevaweb/laravel-query-updater

包简介

Easily update Eloquent models from put API requests without losing data

README 文档

README

Quality Score Code Coverage Build Status StyleCI License: MIT Laravel 6.x

This package allows you to update fields and relations based on a request without losing data not send.

Installation

This package can be used in Laravel 6.0 or higher.

You can install the package via composer:

composer require latevaweb/laravel-query-updater

The service provider will automatically get registered. Or you may manually add the service provider in your config/app.php file:

'providers' => [
    // ...
    LaTevaWeb\QueryUpdater\QueryUpdaterServiceProvider::class,
];

Basic usage

Update model field based on a put or patch request: /users params: ['name' => 'Marc']:

use LaTevaWeb\QueryUpdater\QueryUpdater;

public function __invoke(Request $request, User $user) {
    QueryUpdater::for($user)
        ->updatedFields(['name'])
        ->save();
        
    // update
}

Update model field but keep stored value if parameter is empty or null

use LaTevaWeb\QueryUpdater\QueryUpdater;
use LaTevaWeb\QueryUpdater\KeepStored;

public function __invoke(Request $request, User $user) {
    QueryUpdater::for($user)
        ->updatedFields([
            KeepStored::field('name')
        ])
        ->save();
        
    // update
}

Extending filters

IF you have an special requirement that not fits with our filters KeepStored or SimpleFilter, you can create your own extending LaTevaWeb\QueryUpdater\Filter\AbstractFilter class.

Run tests

sqlite is required. Install it on ubuntu using sudo apt-get install php7.4-sqlite3.

execute vendor/bin/phpunit

License

The MIT License (MIT). Please see License File for more information.

统计信息

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

GitHub 信息

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

其他信息

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