Skip to content

grzegorz-pierzakowski/hii

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hii

Extended models for Gii, the code generator of Yii2 Framework

What is it?

Hii provides automatic model generation for complex db models. It supports:

  • many relations between two models
  • 'name2other_name' db table names
  • cascade model structure:
models
|- base / model.php  <- this one has automaticly generated relations
|- model.php
  • relation to self is possible only by setting it in 'customRelations'
  • autogenerating static methods findBy{UniqieField}

Installation

The preferred way to install this extension is through composer.

composer.phar require grzegorz-pierzakowski/hii:"*"

or you can add this into the composer.json:

"grzegorz-pierzakowski/hii": "*"

The Hii-model generator is registered automatically in the application bootstrap process, if the Gii module is enabled

Use custom options (It's in params untill Yii2 enables passing config to generators)

$config['params']['hii-model'] = [
            // put your custom pairs of 'table' => 'ModelName' map here
            'tableModelMap' => [
            ],
            // put your pairs of 'column_name' => 'RelationSuffix' map here
            // this will allow to generate more than one relation between 2 models
            'customRelations' => [
            ]
        ]
       

Usage

Visit your application's Gii (eg. index.php?r=gii and choose Hii Model from the main menu screen.

For basic usage instructions see the Yii2 Guide section for Gii.

Let's assume you have a ggroup table represented by Group object and ggroup has user_id and user_last_id columns. You have two relations to User object then. If you set the project as:

$config['params']['hii-model'] = [
    'customRelations' => [
        'last_user_id' => 'Last'
    ],
    'tableModelMap' => [
        'ggroup' => 'Group'
    ]
]

Magic will happen and your models will have relations as below:

Group User->myGroup
Group User->myGroupLast
User Group->lastUser
User Group->user

About

Yii2 gii extension for complex model generation

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages