Gii extension - complex model generator for Yii 2 Framework
Installs: 36
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- dmstr/yii2-bootstrap: *
- yiisoft/yii2-gii: >=2.0.1
README
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