public function getRelatedFieldDtls($columnName) { $relatedFieldDtls = []; $foreignKeyInfo = []; $foreignKeyInfo = $this->getForeignKeyInfo($columnName); if ($foreignKeyInfo !== null) { $foreignTable = $foreignKeyInfo['foreignTable']; $foreignFieldName = $this->getNameAttributeOfTable($foreignTable); $modGen = new yii\gii\generators\model\Generator(); $relationName = $modGen->generateRelationName([], '', '', $columnName, false); // $relationName = lcfirst($relationName); $relatedFieldDtls['relationName'] = $relationName; $relatedFieldDtls['foreignFieldName'] = $foreignFieldName; return $relatedFieldDtls; } return; }
) { $model = $this->findModel(<?php echo $actionParams; ?> ); <?php $schema = $generator->getTableSchema(); $masterTable = $schema->fullName; $relatedDetailTables = $generator->getRelatedTableAndFields($masterTable); foreach ($relatedDetailTables as $relatedTable) { $tableName = $relatedTable['tabelName']; $fieldName = $relatedTable['relatedField']; $modGen = new yii\gii\generators\model\Generator(); $relatedClassName = $modGen->generateClassName($tableName); $relationName = $modGen->generateRelationName([], $modelClass, '', $relatedClassName, true); $relationName = lcfirst($relationName); // $relationName = 'countries'; echo "\${$tableName}Mods = \$model->{$relationName};\n"; } ?> if ($model->load(Yii::$app->request->post())){ <?php foreach ($relatedDetailTables as $relatedTable) { $tableName = $relatedTable['tabelName']; $modGen = new yii\gii\generators\model\Generator(); $relatedClassName = $modGen->generateClassName($tableName); $relTablePk = $generator->getPrimaryKeyOfTable($tableName); ?> $old<?php