Extended models for Gii, the code generator of Yii2 Framework
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}
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
$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' => [
]
]
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