Generate Relational (hasMany, hasOne, belongsTo, & nested) Models & CRUD.

Installs: 116

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 99


v1.0.0 2016-08-20 03:42 UTC

This package is not auto-updated.

Last update: 2023-09-11 09:41:00 UTC


Yii2 Gii (generator) with Relation forked from https://github.com/mootensai/yii2-enhanced-gii

Specific for postgres with uuid id's generated from php through ramsey/uuid Beware! This extension does not use uuid-oosp functions it generates v4 uuid with UUID behaviour

You have to add this to your configuration db connection setting so it detects uuid column properly

       'schemaMap' => [
        'pgsql'=> [
        'defaultSchema' => 'public' //specify your schema here

You can change the Schema name to whatever you use



The preferred way to install this extension is through composer.

Either run

$ composer require gvasilopulos/yii2-enhanced-gii:dev-master
$ composer require kartik-v/yii2-mpdf:dev-master # if you want to use pdf exporter 
$ composer require kartik-v/yii2-tree-manager:dev-master # if you want to use tree/nested relation table

or add

"gvasilopulos/yii2-enhanced-gii": "dev-master",
"kartik-v/yii2-mpdf": "dev-master",
"kartik-v/yii2-tree-manager": "dev-master"

add "kartik-v/yii2-mpdf": "dev-master", if you want to use pdf exporter

add "kartik-v/yii2-tree-manager": "dev-master", if you want to use tree/nested relation table

to the require section of your composer.json file.

I separate the mpdf & tree-manager because the package is big & not everyone will use it.

Then you must add this code at your config\main.php.

'modules' => [
... //your another module
      'gridview' => [
          'class' => '\kartik\grid\Module',
          // see settings on http://demos.krajee.com/grid#module
      'datecontrol' => [
          'class' => '\kartik\datecontrol\Module',
          // see settings on http://demos.krajee.com/datecontrol#module
      // If you use tree table
      'treemanager' =>  [
          'class' => '\kartik\tree\Module',
          // see settings on http://demos.krajee.com/tree-manager#module
... // your another module
      'dynagrid'=> [
        // other module settings

See gridview settings on http://demos.krajee.com/grid#module

See datecontrol settings on http://demos.krajee.com/datecontrol#module

See treemanager settings on http://demos.krajee.com/tree-manager#module (If you use tree/nested relation table)

See dynagrid settings on http://demos.krajee.com/dynagrid if you use mediman crud template!

Usage :

Go to your gii tools, and notice the new IO Generator for models & CRUD


Model :

  1. Generate optimistic lock
  2. Generate Timestamp Behaviors
  3. Generate Blameable Behavior
  4. Generate UUID Behavior and uuid's through php (default behavior)


  1. Generate all CRUD with wildcard (*) of table
  2. Generate related input output
  3. Specify your name/label attribute for foreign keys
  4. Set your column to hidden
  5. Specify your skipped columns
  6. Specify your skipped relations
  7. Set pluralize or not
  8. PDF Printable view
  9. Expandable / collapsible row at index grid view for related data
  10. generate dynagrid grid view for index.php if you choose mediman template on crud (you need to add tbl_dynagrid and tbl_dynagrid_dtl tables on your database or set the appropriate tables on module settings as described in http://demos.krajee.com/dynagrid#module

Migration Generator :

  1. Generate migration from your database structure (based on : https://github.com/deesoft/yii2-gii)

To Do

  1. One-page-CRUD template
  2. Implement generator for Soft Delete Behavior (https://github.com/yii2tech/ar-softdelete)

I'm open for any improvement


Model Generator

enhanced gii - model

CRUD Generator

enhanced gii - crud


Grid View

enhanced gii - index grid

List View

enhanced gii - index list


enhanced gii - view


enhanced gii - create

enhanced gii - update

Nested / Tree

enhanced gii - nested

Migration Generator

migration form

Thanks To

  1. Jiwanndaru (jiwanndaru@gmail.com) for creating the tradition
  2. kartik-v (https://github.com/kartik-v) for most of widgets
  3. schmunk42 (https://github.com/schmunk42) for bootstrap & model base & extension
  4. mdmunir (https://github.com/mdmunir) for JsBlock & Migration Generator (from https://github.com/deesoft/yii2-gii)
  5. thamtech (https://github.com/thamtech/yii2-uuid) for uuid helpers/validators
  6. wartron (https://github.com/wartron/yii2-uuid) UUID behavior
  7. fgh151 (https://github.com/fgh151/yii2-postgresql-array-field) for guidance through schema customization