From 1f789ce26c3dee08e8c240daa757ee95b04f7a61 Mon Sep 17 00:00:00 2001 From: Adrian Humphrey Date: Wed, 13 Apr 2022 12:36:17 +1200 Subject: [PATCH] stripped back version of the fix --- .../lib/generator/sfDoctrineFormGenerator.class.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/plugins/sfDoctrinePlugin/lib/generator/sfDoctrineFormGenerator.class.php b/lib/plugins/sfDoctrinePlugin/lib/generator/sfDoctrineFormGenerator.class.php index 10690bb95..645dac1cc 100644 --- a/lib/plugins/sfDoctrinePlugin/lib/generator/sfDoctrineFormGenerator.class.php +++ b/lib/plugins/sfDoctrinePlugin/lib/generator/sfDoctrineFormGenerator.class.php @@ -565,9 +565,11 @@ public function getColumns() $parentColumns = $parentModel ? array_keys(Doctrine_Core::getTable($parentModel)->getColumns()) : array(); $columns = array(); + $names = array(); foreach (array_diff(array_keys($this->table->getColumns()), $parentColumns) as $name) { $columns[] = new sfDoctrineColumn($name, $this->table); + $names[] = $name; } // add relations to columns for inherited classes @@ -575,16 +577,15 @@ public function getColumns() { $parentRelationNames = array_keys(Doctrine_Core::getTable($parentModel)->getRelations()); $relations = $this->table->getRelations(); - $relationColumns = array(); foreach (array_diff(array_keys($relations), $parentRelationNames) as $relationName) { if (Doctrine_Relation::ONE == $relations[$relationName]->getType()) { $columnName = $relations[$relationName]->getLocal(); - if (!in_array($columnName, $relationColumns)) + if (!in_array($columnName, $names)) { - $relationColumns[] = $columnName; $columns[] = new sfDoctrineColumn($columnName, $this->table); + $names[] = $columnName; } } }