Skip to content

AlexQwerty/sam-crud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

crud

Simple crud

Installation

Usage

  1. Controller
...
use samalex\crud\controllers\CrudController;

class PostController extends CrudController {
...
}

localhost/yii2/web/post/all

  1. Without controller config/web.php
...
'controllerMap' => [
    'post' => [  // controller name
        'class' => 'samalex\crud\controllers\CrudController',
        'model' => 'modelName', //if is miss - get model by controller name
        'modelSearch' => 'modelSearch' //if is miss - get model by search / controller name
    ]
]
...
  1. In actions
...
use samalex\crud\controllers\actions;

class SomeController extends Controller {

    public function actions() {
       return array_merge(parent::actions(), [
            'all' => ['class' => actions\ActionAll::className()],
            'view' => ['class' => actions\ActionView::className()],
            'update' => ['class' => actions\ActionUpdate::className()],
            'create' => ['class' => actions\ActionCreate::className()],
            'delete' => ['class' => actions\ActionDelete::className()],
        ]);
    }
...

Custom view, model

...
use samalex\crud\controllers\actions;

class PostController extends Controller {

    public function actions() {
       return array_merge(parent::actions(), [
            'all' => [
                            'class' => actions\ActionAll::className(), 
                            'view' => 'viewName', 
                            'model' => 'modelName', 
                            'modelSearch' => 'modelSearchName'
                        ],
...

Custom columns In seach/model

...
use app\models\User as UserModel;

class User extends UserModel {

    public function getCrudColumns() {
        return[
            'username',
            'email',
            [
                'attribute' => 'role_id',
                'value' => 'role.name',
                'filter' => ArrayHelper::map(Role::find()->all(), 'id', 'name') 
            ],
            'created_at:datetime',
            'updated_at:datetime',
            [
                'attribute' => 'status_id',
                'value' => 'status.name',
                'filter' => ArrayHelper::map(Status::find()->all(), 'id', 'name')
            ],
        ];
    }
...

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages