PHPackages                             osi/laravel-controller-trait - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. osi/laravel-controller-trait

ActiveLibrary

osi/laravel-controller-trait
============================

a trait about laravel

2.2.7(2y ago)149932mitPHPPHP &gt;=7.1

Since May 13Pushed 2y agoCompare

[ Source](https://github.com/osindex/LaravelControllerTrait)[ Packagist](https://packagist.org/packages/osi/laravel-controller-trait)[ RSS](/packages/osi-laravel-controller-trait/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (2)Versions (36)Used By (2)

laravel-controller-trait
========================

[](#laravel-controller-trait)

install
-------

[](#install)

```
composer require osi/laravel-controller-trait

```

useage
------

[](#useage)

\###artisan

```
php artisan trait:controller
php artisan trait:model

```

### 近期更新说明

[](#近期更新说明)

```
#【2021-06-11】新增对withCount的支持

?expandCount: ["user",{"role.code":"admin"}]

需要在model类加入以下支持
public function extraFields()
{
    return ['user', 'role'];
}

```

\###controller&amp;&amp;route

```

use Osi\LaravelControllerTrait\Traits\ControllerBaseTrait; // trait
use App\Admin; //model file
class AdminsController extends Controller
{
    use ControllerBaseTrait;

    public function __construct(Admin $model)
    {
        $this->model = $model;
        $this->resource = '\Osi\LaravelControllerTrait\Resources\Resource';
        $this->collection = '\Osi\LaravelControllerTrait\Resources\Collection';
        $this->functions = get_class_methods(self::class);
    }
}

Route::resources(['admins' => 'AdminsController']);
#以上完成，即提供了常规的增删改查方法

#【1.10】新增批量更新
post:api/admins/batch
request()->all(): [
	['id'=>1,'field'=>'xxx','field2'=>xxx],
	['id'=>2,'field'=>'x2x','field2'=>x2x]
]

#【1.11】剥离基础返回类

use Osi\LaravelControllerTrait\Traits\ResponseBaseTrait; // trait 附带以下方法

dataSuccess
created
accepted
noContent
badRequest
unauthorized
forbidden
unprocesableEtity
success

```

filter
------

[](#filter)

```
/message?filter={"created_at":{"from":"2016-02-20","to":"2016-02-24 23:59:59"}, "id":{"operation":"not in", "value":[2,3,4]}}
/message?filter={"user_id":{"operation":"in", "value":[null,2,3,4]}}
/message?filter={"id":{"from":2,"to":5}}
/message?filter={"id":{"to":5}} or /message?filter={"id":{"operation":"
