yii2-double-model-gii ¶
This generator generates two ActiveRecord class for the specified database table. An empty one you can extend and a Base one which is the same as the original model generatior.
Installation ¶
The preferred way to install this extension is through composer.
Either run
$ php composer.phar require "claudejanz/yii2-mygii": "dev-master"
or add
"claudejanz/yii2-mygii": "dev-master"
to the `
require`
section of your composer.json
file.
Usage ¶
//if your gii modules configuration looks like below:
$config['bootstrap'][] = 'gii';
$config['modules']['gii'] = 'yii\gii\Module';
//remove this two lines
//Add this into common/config/main-local.php
'bootstrap' => 'gii',
'modules' => [
'gii' => [
'class' => 'yii\gii\Module',
'generators' => [
'doubleModel' => [
'class' => 'claudejanz\mygii\generators\model\Generator',
],
],
],
],
relations broken
In your generator relations are broken, because related models is in different namespace.
Thanks Maris
I have added related models to use list. Should work now.
Thanks
relations broken
Again wrong.
Use
<?php foreach ($relations as $name => $relation): ?> use <?= $generator->ns ?>\<?= $relation[1] . ";\n" ?> <?php endforeach; ?>
Instead of
<?php foreach ($relations as $name => $relation): ?> use <?= $generator->ns.'\\'.$name . ";\n" ?> <?php endforeach; ?>
For has many relation your code will generate
app\models\Users instead of app\models\User
Thanks Maris
Modification done. Thanks
Why should I want this extension?
What is the advantage to have two model classes?
robsch
For database changes support.
The base one will be regenerated each time I make db changes.
The other one takes my code.
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.