Completed
Pull Request — 3.4 (#46)
by David
23:45 queued 27s
created
src/Mouf/Database/TDBM/Utils/BeanDescriptor.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -288,7 +288,7 @@  discard block
 block discarded – undo
288 288
         $fksByMethodName = [];
289 289
 
290 290
         foreach ($fksByTable as $tableName => $fksForTable) {
291
-            if (count($fksForTable) > 1) {
291
+            if (count($fksForTable)>1) {
292 292
                 foreach ($fksForTable as $fk) {
293 293
                     $methodName = 'get'.TDBMDaoGenerator::toCamelCase($fk->getLocalTableName()).'By';
294 294
 
@@ -388,7 +388,7 @@  discard block
 block discarded – undo
388 388
 
389 389
         $finalDescs = [];
390 390
         foreach ($descs as $descArray) {
391
-            if (count($descArray) > 1) {
391
+            if (count($descArray)>1) {
392 392
                 foreach ($descArray as $desc) {
393 393
                     $desc['name'] = TDBMDaoGenerator::toCamelCase($desc['remoteFK']->getForeignTableName())."By".TDBMDaoGenerator::toCamelCase($desc['table']->getName());
394 394
                     $finalDescs[] = $desc;
Please login to merge, or discard this patch.
Indentation   +441 added lines, -441 removed lines patch added patch discarded remove patch
@@ -15,232 +15,232 @@  discard block
 block discarded – undo
15 15
  */
16 16
 class BeanDescriptor
17 17
 {
18
-    /**
19
-     * @var Table
20
-     */
21
-    private $table;
22
-
23
-    /**
24
-     * @var SchemaAnalyzer
25
-     */
26
-    private $schemaAnalyzer;
27
-
28
-    /**
29
-     * @var Schema
30
-     */
31
-    private $schema;
32
-
33
-    /**
34
-     * @var AbstractBeanPropertyDescriptor[]
35
-     */
36
-    private $beanPropertyDescriptors = [];
37
-
38
-    public function __construct(Table $table, SchemaAnalyzer $schemaAnalyzer, Schema $schema) {
39
-        $this->table = $table;
40
-        $this->schemaAnalyzer = $schemaAnalyzer;
41
-        $this->schema = $schema;
42
-        $this->initBeanPropertyDescriptors();
43
-    }
44
-
45
-    private function initBeanPropertyDescriptors() {
46
-        $this->beanPropertyDescriptors = $this->getProperties($this->table);
47
-    }
48
-
49
-    /**
50
-     * Returns the foreignkey the column is part of, if any. null otherwise.
51
-     *
52
-     * @param Table $table
53
-     * @param Column $column
54
-     * @return ForeignKeyConstraint|null
55
-     */
56
-    private function isPartOfForeignKey(Table $table, Column $column) {
57
-        $localColumnName = $column->getName();
58
-        foreach ($table->getForeignKeys() as $foreignKey) {
59
-            foreach ($foreignKey->getColumns() as $columnName) {
60
-                if ($columnName === $localColumnName) {
61
-                    return $foreignKey;
62
-                }
63
-            }
64
-        }
65
-        return null;
66
-    }
67
-
68
-    /**
69
-     * @return AbstractBeanPropertyDescriptor[]
70
-     */
71
-    public function getBeanPropertyDescriptors()
72
-    {
73
-        return $this->beanPropertyDescriptors;
74
-    }
75
-
76
-    /**
77
-     * Returns the list of columns that are not nullable and not autogenerated for a given table and its parent.
78
-     *
79
-     * @return AbstractBeanPropertyDescriptor[]
80
-     */
81
-    public function getConstructorProperties() {
82
-
83
-        $constructorProperties = array_filter($this->beanPropertyDescriptors, function(AbstractBeanPropertyDescriptor $property) {
84
-           return $property->isCompulsory();
85
-        });
86
-
87
-        return $constructorProperties;
88
-    }
89
-
90
-    /**
91
-     * Returns the list of properties exposed as getters and setters in this class.
92
-     *
93
-     * @return AbstractBeanPropertyDescriptor[]
94
-     */
95
-    public function getExposedProperties() {
96
-        $exposedProperties = array_filter($this->beanPropertyDescriptors, function(AbstractBeanPropertyDescriptor $property) {
97
-            return $property->getTable()->getName() == $this->table->getName();
98
-        });
99
-
100
-        return $exposedProperties;
101
-    }
102
-
103
-    /**
104
-     * Returns the list of foreign keys pointing to the table represented by this bean, excluding foreign keys
105
-     * from junction tables and from inheritance.
106
-     *
107
-     * @return ForeignKeyConstraint[]
108
-     */
109
-    public function getIncomingForeignKeys() {
110
-
111
-        $junctionTables = $this->schemaAnalyzer->detectJunctionTables();
112
-        $junctionTableNames = array_map(function(Table $table) { return $table->getName(); }, $junctionTables);
113
-        $childrenRelationships = $this->schemaAnalyzer->getChildrenRelationships($this->table->getName());
114
-
115
-        $fks = [];
116
-        foreach ($this->schema->getTables() as $table) {
117
-            foreach ($table->getForeignKeys() as $fk) {
118
-                if ($fk->getForeignTableName() === $this->table->getName()) {
119
-                    if (in_array($fk->getLocalTableName(), $junctionTableNames)) {
120
-                        continue;
121
-                    }
122
-                    foreach ($childrenRelationships as $childFk) {
123
-                        if ($fk->getLocalTableName() === $childFk->getLocalTableName() && $fk->getLocalColumns() === $childFk->getLocalColumns()) {
124
-                            continue 2;
125
-                        }
126
-                    }
127
-                    $fks[] = $fk;
128
-                }
129
-            }
130
-        }
131
-
132
-        return $fks;
133
-    }
134
-
135
-    /**
136
-     * Returns the list of properties for this table (including parent tables).
137
-     *
138
-     * @param Table $table
139
-     * @return AbstractBeanPropertyDescriptor[]
140
-     */
141
-    private function getProperties(Table $table)
142
-    {
143
-        $parentRelationship = $this->schemaAnalyzer->getParentRelationship($table->getName());
144
-        if ($parentRelationship) {
145
-            $parentTable = $this->schema->getTable($parentRelationship->getForeignTableName());
146
-            $properties = $this->getProperties($parentTable);
147
-            // we merge properties by overriding property names.
148
-            $localProperties = $this->getPropertiesForTable($table);
149
-            foreach ($localProperties as $name => $property) {
150
-                // We do not override properties if this is a primary key!
151
-                if ($property->isPrimaryKey()) {
152
-                    continue;
153
-                }
154
-                $properties[$name] = $property;
155
-            }
156
-            //$properties = array_merge($properties, $localProperties);
157
-
158
-        } else {
159
-            $properties = $this->getPropertiesForTable($table);
160
-        }
161
-
162
-        return $properties;
163
-    }
164
-
165
-        /**
166
-     * Returns the list of properties for this table (ignoring parent tables).
167
-     *
168
-     * @param Table $table
169
-     * @return AbstractBeanPropertyDescriptor[]
170
-     */
171
-    private function getPropertiesForTable(Table $table)
172
-    {
173
-        $parentRelationship = $this->schemaAnalyzer->getParentRelationship($table->getName());
174
-        if ($parentRelationship) {
175
-            $ignoreColumns = $parentRelationship->getLocalColumns();
176
-        } else {
177
-            $ignoreColumns = [];
178
-        }
179
-
180
-        $beanPropertyDescriptors = [];
181
-
182
-        foreach ($table->getColumns() as $column) {
183
-            if (array_search($column->getName(), $ignoreColumns) !== false) {
184
-                continue;
185
-            }
186
-
187
-            $fk = $this->isPartOfForeignKey($table, $column);
188
-            if ($fk !== null) {
189
-                // Check that previously added descriptors are not added on same FK (can happen with multi key FK).
190
-                foreach ($beanPropertyDescriptors as $beanDescriptor) {
191
-                    if ($beanDescriptor instanceof ObjectBeanPropertyDescriptor && $beanDescriptor->getForeignKey() === $fk) {
192
-                        continue 2;
193
-                    }
194
-                }
195
-                // Check that this property is not an inheritance relationship
196
-                $parentRelationship = $this->schemaAnalyzer->getParentRelationship($table->getName());
197
-                if ($parentRelationship === $fk) {
198
-                    continue;
199
-                }
200
-
201
-                $beanPropertyDescriptors[] = new ObjectBeanPropertyDescriptor($table, $fk, $this->schemaAnalyzer);
202
-            } else {
203
-                $beanPropertyDescriptors[] = new ScalarBeanPropertyDescriptor($table, $column);
204
-            }
205
-        }
206
-
207
-        // Now, let's get the name of all properties and let's check there is no duplicate.
208
-        /** @var $names AbstractBeanPropertyDescriptor[] */
209
-        $names = [];
210
-        foreach ($beanPropertyDescriptors as $beanDescriptor) {
211
-            $name = $beanDescriptor->getUpperCamelCaseName();
212
-            if (isset($names[$name])) {
213
-                $names[$name]->useAlternativeName();
214
-                $beanDescriptor->useAlternativeName();
215
-            } else {
216
-                $names[$name] = $beanDescriptor;
217
-            }
218
-        }
219
-
220
-        // Final check (throw exceptions if problem arises)
221
-        $names = [];
222
-        foreach ($beanPropertyDescriptors as $beanDescriptor) {
223
-            $name = $beanDescriptor->getUpperCamelCaseName();
224
-            if (isset($names[$name])) {
225
-                throw new TDBMException("Unsolvable name conflict while generating method name");
226
-            } else {
227
-                $names[$name] = $beanDescriptor;
228
-            }
229
-        }
230
-
231
-        // Last step, let's rebuild the list with a map:
232
-        $beanPropertyDescriptorsMap = [];
233
-        foreach ($beanPropertyDescriptors as $beanDescriptor) {
234
-            $beanPropertyDescriptorsMap[$beanDescriptor->getLowerCamelCaseName()] = $beanDescriptor;
235
-        }
236
-
237
-        return $beanPropertyDescriptorsMap;
238
-    }
239
-
240
-    public function generateBeanConstructor() {
241
-        $constructorProperties = $this->getConstructorProperties();
242
-
243
-        $constructorCode = "    /**
18
+	/**
19
+	 * @var Table
20
+	 */
21
+	private $table;
22
+
23
+	/**
24
+	 * @var SchemaAnalyzer
25
+	 */
26
+	private $schemaAnalyzer;
27
+
28
+	/**
29
+	 * @var Schema
30
+	 */
31
+	private $schema;
32
+
33
+	/**
34
+	 * @var AbstractBeanPropertyDescriptor[]
35
+	 */
36
+	private $beanPropertyDescriptors = [];
37
+
38
+	public function __construct(Table $table, SchemaAnalyzer $schemaAnalyzer, Schema $schema) {
39
+		$this->table = $table;
40
+		$this->schemaAnalyzer = $schemaAnalyzer;
41
+		$this->schema = $schema;
42
+		$this->initBeanPropertyDescriptors();
43
+	}
44
+
45
+	private function initBeanPropertyDescriptors() {
46
+		$this->beanPropertyDescriptors = $this->getProperties($this->table);
47
+	}
48
+
49
+	/**
50
+	 * Returns the foreignkey the column is part of, if any. null otherwise.
51
+	 *
52
+	 * @param Table $table
53
+	 * @param Column $column
54
+	 * @return ForeignKeyConstraint|null
55
+	 */
56
+	private function isPartOfForeignKey(Table $table, Column $column) {
57
+		$localColumnName = $column->getName();
58
+		foreach ($table->getForeignKeys() as $foreignKey) {
59
+			foreach ($foreignKey->getColumns() as $columnName) {
60
+				if ($columnName === $localColumnName) {
61
+					return $foreignKey;
62
+				}
63
+			}
64
+		}
65
+		return null;
66
+	}
67
+
68
+	/**
69
+	 * @return AbstractBeanPropertyDescriptor[]
70
+	 */
71
+	public function getBeanPropertyDescriptors()
72
+	{
73
+		return $this->beanPropertyDescriptors;
74
+	}
75
+
76
+	/**
77
+	 * Returns the list of columns that are not nullable and not autogenerated for a given table and its parent.
78
+	 *
79
+	 * @return AbstractBeanPropertyDescriptor[]
80
+	 */
81
+	public function getConstructorProperties() {
82
+
83
+		$constructorProperties = array_filter($this->beanPropertyDescriptors, function(AbstractBeanPropertyDescriptor $property) {
84
+		   return $property->isCompulsory();
85
+		});
86
+
87
+		return $constructorProperties;
88
+	}
89
+
90
+	/**
91
+	 * Returns the list of properties exposed as getters and setters in this class.
92
+	 *
93
+	 * @return AbstractBeanPropertyDescriptor[]
94
+	 */
95
+	public function getExposedProperties() {
96
+		$exposedProperties = array_filter($this->beanPropertyDescriptors, function(AbstractBeanPropertyDescriptor $property) {
97
+			return $property->getTable()->getName() == $this->table->getName();
98
+		});
99
+
100
+		return $exposedProperties;
101
+	}
102
+
103
+	/**
104
+	 * Returns the list of foreign keys pointing to the table represented by this bean, excluding foreign keys
105
+	 * from junction tables and from inheritance.
106
+	 *
107
+	 * @return ForeignKeyConstraint[]
108
+	 */
109
+	public function getIncomingForeignKeys() {
110
+
111
+		$junctionTables = $this->schemaAnalyzer->detectJunctionTables();
112
+		$junctionTableNames = array_map(function(Table $table) { return $table->getName(); }, $junctionTables);
113
+		$childrenRelationships = $this->schemaAnalyzer->getChildrenRelationships($this->table->getName());
114
+
115
+		$fks = [];
116
+		foreach ($this->schema->getTables() as $table) {
117
+			foreach ($table->getForeignKeys() as $fk) {
118
+				if ($fk->getForeignTableName() === $this->table->getName()) {
119
+					if (in_array($fk->getLocalTableName(), $junctionTableNames)) {
120
+						continue;
121
+					}
122
+					foreach ($childrenRelationships as $childFk) {
123
+						if ($fk->getLocalTableName() === $childFk->getLocalTableName() && $fk->getLocalColumns() === $childFk->getLocalColumns()) {
124
+							continue 2;
125
+						}
126
+					}
127
+					$fks[] = $fk;
128
+				}
129
+			}
130
+		}
131
+
132
+		return $fks;
133
+	}
134
+
135
+	/**
136
+	 * Returns the list of properties for this table (including parent tables).
137
+	 *
138
+	 * @param Table $table
139
+	 * @return AbstractBeanPropertyDescriptor[]
140
+	 */
141
+	private function getProperties(Table $table)
142
+	{
143
+		$parentRelationship = $this->schemaAnalyzer->getParentRelationship($table->getName());
144
+		if ($parentRelationship) {
145
+			$parentTable = $this->schema->getTable($parentRelationship->getForeignTableName());
146
+			$properties = $this->getProperties($parentTable);
147
+			// we merge properties by overriding property names.
148
+			$localProperties = $this->getPropertiesForTable($table);
149
+			foreach ($localProperties as $name => $property) {
150
+				// We do not override properties if this is a primary key!
151
+				if ($property->isPrimaryKey()) {
152
+					continue;
153
+				}
154
+				$properties[$name] = $property;
155
+			}
156
+			//$properties = array_merge($properties, $localProperties);
157
+
158
+		} else {
159
+			$properties = $this->getPropertiesForTable($table);
160
+		}
161
+
162
+		return $properties;
163
+	}
164
+
165
+		/**
166
+		 * Returns the list of properties for this table (ignoring parent tables).
167
+		 *
168
+		 * @param Table $table
169
+		 * @return AbstractBeanPropertyDescriptor[]
170
+		 */
171
+	private function getPropertiesForTable(Table $table)
172
+	{
173
+		$parentRelationship = $this->schemaAnalyzer->getParentRelationship($table->getName());
174
+		if ($parentRelationship) {
175
+			$ignoreColumns = $parentRelationship->getLocalColumns();
176
+		} else {
177
+			$ignoreColumns = [];
178
+		}
179
+
180
+		$beanPropertyDescriptors = [];
181
+
182
+		foreach ($table->getColumns() as $column) {
183
+			if (array_search($column->getName(), $ignoreColumns) !== false) {
184
+				continue;
185
+			}
186
+
187
+			$fk = $this->isPartOfForeignKey($table, $column);
188
+			if ($fk !== null) {
189
+				// Check that previously added descriptors are not added on same FK (can happen with multi key FK).
190
+				foreach ($beanPropertyDescriptors as $beanDescriptor) {
191
+					if ($beanDescriptor instanceof ObjectBeanPropertyDescriptor && $beanDescriptor->getForeignKey() === $fk) {
192
+						continue 2;
193
+					}
194
+				}
195
+				// Check that this property is not an inheritance relationship
196
+				$parentRelationship = $this->schemaAnalyzer->getParentRelationship($table->getName());
197
+				if ($parentRelationship === $fk) {
198
+					continue;
199
+				}
200
+
201
+				$beanPropertyDescriptors[] = new ObjectBeanPropertyDescriptor($table, $fk, $this->schemaAnalyzer);
202
+			} else {
203
+				$beanPropertyDescriptors[] = new ScalarBeanPropertyDescriptor($table, $column);
204
+			}
205
+		}
206
+
207
+		// Now, let's get the name of all properties and let's check there is no duplicate.
208
+		/** @var $names AbstractBeanPropertyDescriptor[] */
209
+		$names = [];
210
+		foreach ($beanPropertyDescriptors as $beanDescriptor) {
211
+			$name = $beanDescriptor->getUpperCamelCaseName();
212
+			if (isset($names[$name])) {
213
+				$names[$name]->useAlternativeName();
214
+				$beanDescriptor->useAlternativeName();
215
+			} else {
216
+				$names[$name] = $beanDescriptor;
217
+			}
218
+		}
219
+
220
+		// Final check (throw exceptions if problem arises)
221
+		$names = [];
222
+		foreach ($beanPropertyDescriptors as $beanDescriptor) {
223
+			$name = $beanDescriptor->getUpperCamelCaseName();
224
+			if (isset($names[$name])) {
225
+				throw new TDBMException("Unsolvable name conflict while generating method name");
226
+			} else {
227
+				$names[$name] = $beanDescriptor;
228
+			}
229
+		}
230
+
231
+		// Last step, let's rebuild the list with a map:
232
+		$beanPropertyDescriptorsMap = [];
233
+		foreach ($beanPropertyDescriptors as $beanDescriptor) {
234
+			$beanPropertyDescriptorsMap[$beanDescriptor->getLowerCamelCaseName()] = $beanDescriptor;
235
+		}
236
+
237
+		return $beanPropertyDescriptorsMap;
238
+	}
239
+
240
+	public function generateBeanConstructor() {
241
+		$constructorProperties = $this->getConstructorProperties();
242
+
243
+		$constructorCode = "    /**
244 244
      * The constructor takes all compulsory arguments.
245 245
      *
246 246
 %s
@@ -250,64 +250,64 @@  discard block
 block discarded – undo
250 250
     }
251 251
     ";
252 252
 
253
-        $paramAnnotations = [];
254
-        $arguments = [];
255
-        $assigns = [];
256
-        $parentConstructorArguments = [];
257
-
258
-        foreach ($constructorProperties as $property) {
259
-            $className = $property->getClassName();
260
-            if ($className) {
261
-                $arguments[] = $className.' '.$property->getVariableName();
262
-            } else {
263
-                $arguments[] = $property->getVariableName();
264
-            }
265
-            $paramAnnotations[] = $property->getParamAnnotation();
266
-            if ($property->getTable()->getName() === $this->table->getName()) {
267
-                $assigns[] = $property->getConstructorAssignCode();
268
-            } else {
269
-                $parentConstructorArguments[] = $property->getVariableName();
270
-            }
271
-        }
253
+		$paramAnnotations = [];
254
+		$arguments = [];
255
+		$assigns = [];
256
+		$parentConstructorArguments = [];
272 257
 
273
-        $parentConstrutorCode = sprintf("        parent::__construct(%s);\n", implode(', ', $parentConstructorArguments));
258
+		foreach ($constructorProperties as $property) {
259
+			$className = $property->getClassName();
260
+			if ($className) {
261
+				$arguments[] = $className.' '.$property->getVariableName();
262
+			} else {
263
+				$arguments[] = $property->getVariableName();
264
+			}
265
+			$paramAnnotations[] = $property->getParamAnnotation();
266
+			if ($property->getTable()->getName() === $this->table->getName()) {
267
+				$assigns[] = $property->getConstructorAssignCode();
268
+			} else {
269
+				$parentConstructorArguments[] = $property->getVariableName();
270
+			}
271
+		}
274 272
 
275
-        return sprintf($constructorCode, implode("\n", $paramAnnotations), implode(", ", $arguments), $parentConstrutorCode, implode("\n", $assigns));
276
-    }
273
+		$parentConstrutorCode = sprintf("        parent::__construct(%s);\n", implode(', ', $parentConstructorArguments));
277 274
 
278
-    public function generateDirectForeignKeysCode() {
279
-        $fks = $this->getIncomingForeignKeys();
275
+		return sprintf($constructorCode, implode("\n", $paramAnnotations), implode(", ", $arguments), $parentConstrutorCode, implode("\n", $assigns));
276
+	}
280 277
 
281
-        $fksByTable = [];
278
+	public function generateDirectForeignKeysCode() {
279
+		$fks = $this->getIncomingForeignKeys();
282 280
 
283
-        foreach ($fks as $fk) {
284
-            $fksByTable[$fk->getLocalTableName()][] = $fk;
285
-        }
281
+		$fksByTable = [];
286 282
 
287
-        /* @var $fksByMethodName ForeignKeyConstraint[] */
288
-        $fksByMethodName = [];
283
+		foreach ($fks as $fk) {
284
+			$fksByTable[$fk->getLocalTableName()][] = $fk;
285
+		}
289 286
 
290
-        foreach ($fksByTable as $tableName => $fksForTable) {
291
-            if (count($fksForTable) > 1) {
292
-                foreach ($fksForTable as $fk) {
293
-                    $methodName = 'get'.TDBMDaoGenerator::toCamelCase($fk->getLocalTableName()).'By';
287
+		/* @var $fksByMethodName ForeignKeyConstraint[] */
288
+		$fksByMethodName = [];
294 289
 
295
-                    $camelizedColumns = array_map(['Mouf\\Database\\TDBM\\Utils\\TDBMDaoGenerator', 'toCamelCase'], $fk->getLocalColumns());
290
+		foreach ($fksByTable as $tableName => $fksForTable) {
291
+			if (count($fksForTable) > 1) {
292
+				foreach ($fksForTable as $fk) {
293
+					$methodName = 'get'.TDBMDaoGenerator::toCamelCase($fk->getLocalTableName()).'By';
296 294
 
297
-                    $methodName .= implode('And', $camelizedColumns);
295
+					$camelizedColumns = array_map(['Mouf\\Database\\TDBM\\Utils\\TDBMDaoGenerator', 'toCamelCase'], $fk->getLocalColumns());
298 296
 
299
-                    $fksByMethodName[$methodName] = $fk;
300
-                }
301
-            } else {
302
-                $methodName = 'get'.TDBMDaoGenerator::toCamelCase($fksForTable[0]->getLocalTableName());
303
-                $fksByMethodName[$methodName] = $fk;
304
-            }
305
-        }
297
+					$methodName .= implode('And', $camelizedColumns);
306 298
 
307
-        $code = '';
299
+					$fksByMethodName[$methodName] = $fk;
300
+				}
301
+			} else {
302
+				$methodName = 'get'.TDBMDaoGenerator::toCamelCase($fksForTable[0]->getLocalTableName());
303
+				$fksByMethodName[$methodName] = $fk;
304
+			}
305
+		}
308 306
 
309
-        foreach ($fksByMethodName as $methodName => $fk) {
310
-            $getterCode = '    /**
307
+		$code = '';
308
+
309
+		foreach ($fksByMethodName as $methodName => $fk) {
310
+			$getterCode = '    /**
311 311
      * Returns the list of %s pointing to this bean via the %s column.
312 312
      *
313 313
      * @return %s[]|ResultIterator
@@ -319,109 +319,109 @@  discard block
 block discarded – undo
319 319
 
320 320
 ';
321 321
 
322
-            list($sql, $parametersCode) = $this->getFilters($fk);
323
-
324
-            $beanClass = TDBMDaoGenerator::getBeanNameFromTableName($fk->getLocalTableName());
325
-            $code .= sprintf($getterCode,
326
-                $beanClass,
327
-                implode(', ', $fk->getColumns()),
328
-                $beanClass,
329
-                $methodName,
330
-                var_export($fk->getLocalTableName(), true),
331
-                $sql,
332
-                $parametersCode
333
-            );
334
-        }
335
-
336
-        return $code;
337
-    }
338
-
339
-    private function getFilters(ForeignKeyConstraint $fk) {
340
-        $sqlParts = [];
341
-        $counter = 0;
342
-        $parameters = [];
343
-
344
-        $pkColumns = $this->table->getPrimaryKeyColumns();
345
-
346
-        foreach ($fk->getLocalColumns() as $columnName) {
347
-            $paramName = "tdbmparam".$counter;
348
-            $sqlParts[] = $fk->getLocalTableName().'.'.$columnName." = :".$paramName;
349
-
350
-            $pkColumn = $pkColumns[$counter];
351
-            $parameters[] = sprintf('%s => $this->get(%s, %s)', var_export($paramName, true), var_export($pkColumn, true), var_export($this->table->getName(), true));
352
-            $counter++;
353
-        }
354
-        $sql = "'".implode(' AND ', $sqlParts)."'";
355
-        $parametersCode = '[ '.implode(', ', $parameters).' ]';
356
-
357
-        return [$sql, $parametersCode];
358
-    }
359
-
360
-    /**
361
-     * Generate code section about pivot tables
362
-     *
363
-     * @return string;
364
-     */
365
-    public function generatePivotTableCode() {
366
-
367
-        $finalDescs = $this->getPivotTableDescriptors();
368
-
369
-        $code = '';
370
-
371
-        foreach ($finalDescs as $desc) {
372
-            $code .= $this->getPivotTableCode($desc['name'], $desc['table'], $desc['localFK'], $desc['remoteFK']);
373
-        }
374
-
375
-        return $code;
376
-    }
377
-
378
-    private function getPivotTableDescriptors() {
379
-        $descs = [];
380
-        foreach ($this->schemaAnalyzer->detectJunctionTables() as $table) {
381
-            // There are exactly 2 FKs since this is a pivot table.
382
-            $fks = array_values($table->getForeignKeys());
383
-
384
-            if ($fks[0]->getForeignTableName() === $this->table->getName()) {
385
-                $localFK = $fks[0];
386
-                $remoteFK = $fks[1];
387
-            } elseif ($fks[1]->getForeignTableName() === $this->table->getName()) {
388
-                $localFK = $fks[1];
389
-                $remoteFK = $fks[0];
390
-            } else {
391
-                continue;
392
-            }
393
-
394
-            $descs[$remoteFK->getForeignTableName()][] = [
395
-                'table' => $table,
396
-                'localFK' => $localFK,
397
-                'remoteFK' => $remoteFK
398
-            ];
399
-
400
-        }
401
-
402
-        $finalDescs = [];
403
-        foreach ($descs as $descArray) {
404
-            if (count($descArray) > 1) {
405
-                foreach ($descArray as $desc) {
406
-                    $desc['name'] = TDBMDaoGenerator::toCamelCase($desc['remoteFK']->getForeignTableName())."By".TDBMDaoGenerator::toCamelCase($desc['table']->getName());
407
-                    $finalDescs[] = $desc;
408
-                }
409
-            } else {
410
-                $desc = $descArray[0];
411
-                $desc['name'] = TDBMDaoGenerator::toCamelCase($desc['remoteFK']->getForeignTableName());
412
-                $finalDescs[] = $desc;
413
-            }
414
-        }
415
-
416
-        return $finalDescs;
417
-    }
418
-
419
-    public function getPivotTableCode($name, Table $table, ForeignKeyConstraint $localFK, ForeignKeyConstraint $remoteFK) {
420
-        $singularName = TDBMDaoGenerator::toSingular($name);
421
-        $remoteBeanName = TDBMDaoGenerator::getBeanNameFromTableName($remoteFK->getForeignTableName());
422
-        $variableName = '$'.TDBMDaoGenerator::toVariableName($remoteBeanName);
423
-
424
-        $str = '    /**
322
+			list($sql, $parametersCode) = $this->getFilters($fk);
323
+
324
+			$beanClass = TDBMDaoGenerator::getBeanNameFromTableName($fk->getLocalTableName());
325
+			$code .= sprintf($getterCode,
326
+				$beanClass,
327
+				implode(', ', $fk->getColumns()),
328
+				$beanClass,
329
+				$methodName,
330
+				var_export($fk->getLocalTableName(), true),
331
+				$sql,
332
+				$parametersCode
333
+			);
334
+		}
335
+
336
+		return $code;
337
+	}
338
+
339
+	private function getFilters(ForeignKeyConstraint $fk) {
340
+		$sqlParts = [];
341
+		$counter = 0;
342
+		$parameters = [];
343
+
344
+		$pkColumns = $this->table->getPrimaryKeyColumns();
345
+
346
+		foreach ($fk->getLocalColumns() as $columnName) {
347
+			$paramName = "tdbmparam".$counter;
348
+			$sqlParts[] = $fk->getLocalTableName().'.'.$columnName." = :".$paramName;
349
+
350
+			$pkColumn = $pkColumns[$counter];
351
+			$parameters[] = sprintf('%s => $this->get(%s, %s)', var_export($paramName, true), var_export($pkColumn, true), var_export($this->table->getName(), true));
352
+			$counter++;
353
+		}
354
+		$sql = "'".implode(' AND ', $sqlParts)."'";
355
+		$parametersCode = '[ '.implode(', ', $parameters).' ]';
356
+
357
+		return [$sql, $parametersCode];
358
+	}
359
+
360
+	/**
361
+	 * Generate code section about pivot tables
362
+	 *
363
+	 * @return string;
364
+	 */
365
+	public function generatePivotTableCode() {
366
+
367
+		$finalDescs = $this->getPivotTableDescriptors();
368
+
369
+		$code = '';
370
+
371
+		foreach ($finalDescs as $desc) {
372
+			$code .= $this->getPivotTableCode($desc['name'], $desc['table'], $desc['localFK'], $desc['remoteFK']);
373
+		}
374
+
375
+		return $code;
376
+	}
377
+
378
+	private function getPivotTableDescriptors() {
379
+		$descs = [];
380
+		foreach ($this->schemaAnalyzer->detectJunctionTables() as $table) {
381
+			// There are exactly 2 FKs since this is a pivot table.
382
+			$fks = array_values($table->getForeignKeys());
383
+
384
+			if ($fks[0]->getForeignTableName() === $this->table->getName()) {
385
+				$localFK = $fks[0];
386
+				$remoteFK = $fks[1];
387
+			} elseif ($fks[1]->getForeignTableName() === $this->table->getName()) {
388
+				$localFK = $fks[1];
389
+				$remoteFK = $fks[0];
390
+			} else {
391
+				continue;
392
+			}
393
+
394
+			$descs[$remoteFK->getForeignTableName()][] = [
395
+				'table' => $table,
396
+				'localFK' => $localFK,
397
+				'remoteFK' => $remoteFK
398
+			];
399
+
400
+		}
401
+
402
+		$finalDescs = [];
403
+		foreach ($descs as $descArray) {
404
+			if (count($descArray) > 1) {
405
+				foreach ($descArray as $desc) {
406
+					$desc['name'] = TDBMDaoGenerator::toCamelCase($desc['remoteFK']->getForeignTableName())."By".TDBMDaoGenerator::toCamelCase($desc['table']->getName());
407
+					$finalDescs[] = $desc;
408
+				}
409
+			} else {
410
+				$desc = $descArray[0];
411
+				$desc['name'] = TDBMDaoGenerator::toCamelCase($desc['remoteFK']->getForeignTableName());
412
+				$finalDescs[] = $desc;
413
+			}
414
+		}
415
+
416
+		return $finalDescs;
417
+	}
418
+
419
+	public function getPivotTableCode($name, Table $table, ForeignKeyConstraint $localFK, ForeignKeyConstraint $remoteFK) {
420
+		$singularName = TDBMDaoGenerator::toSingular($name);
421
+		$remoteBeanName = TDBMDaoGenerator::getBeanNameFromTableName($remoteFK->getForeignTableName());
422
+		$variableName = '$'.TDBMDaoGenerator::toVariableName($remoteBeanName);
423
+
424
+		$str = '    /**
425 425
      * Returns the list of %s associated to this bean via the %s pivot table.
426 426
      *
427 427
      * @return %s[]
@@ -431,9 +431,9 @@  discard block
 block discarded – undo
431 431
     }
432 432
 ';
433 433
 
434
-        $getterCode = sprintf($str, $remoteBeanName, $table->getName(), $remoteBeanName, $name, var_export($remoteFK->getLocalTableName(), true));
434
+		$getterCode = sprintf($str, $remoteBeanName, $table->getName(), $remoteBeanName, $name, var_export($remoteFK->getLocalTableName(), true));
435 435
 
436
-        $str = '    /**
436
+		$str = '    /**
437 437
      * Adds a relationship with %s associated to this bean via the %s pivot table.
438 438
      *
439 439
      * @param %s %s
@@ -443,9 +443,9 @@  discard block
 block discarded – undo
443 443
     }
444 444
 ';
445 445
 
446
-        $adderCode = sprintf($str, $remoteBeanName, $table->getName(), $remoteBeanName, $variableName, $singularName, $remoteBeanName, $variableName, var_export($remoteFK->getLocalTableName(), true), $variableName);
446
+		$adderCode = sprintf($str, $remoteBeanName, $table->getName(), $remoteBeanName, $variableName, $singularName, $remoteBeanName, $variableName, var_export($remoteFK->getLocalTableName(), true), $variableName);
447 447
 
448
-        $str = '    /**
448
+		$str = '    /**
449 449
      * Deletes the relationship with %s associated to this bean via the %s pivot table.
450 450
      *
451 451
      * @param %s %s
@@ -455,9 +455,9 @@  discard block
 block discarded – undo
455 455
     }
456 456
 ';
457 457
 
458
-        $removerCode = sprintf($str, $remoteBeanName, $table->getName(), $remoteBeanName, $variableName, $singularName, $remoteBeanName, $variableName, var_export($remoteFK->getLocalTableName(), true), $variableName);
458
+		$removerCode = sprintf($str, $remoteBeanName, $table->getName(), $remoteBeanName, $variableName, $singularName, $remoteBeanName, $variableName, var_export($remoteFK->getLocalTableName(), true), $variableName);
459 459
 
460
-        $str = '    /**
460
+		$str = '    /**
461 461
      * Returns whether this bean is associated with %s via the %s pivot table.
462 462
      *
463 463
      * @param %s %s
@@ -468,24 +468,24 @@  discard block
 block discarded – undo
468 468
     }
469 469
 ';
470 470
 
471
-        $hasCode = sprintf($str, $remoteBeanName, $table->getName(), $remoteBeanName, $variableName, $singularName, $remoteBeanName, $variableName, var_export($remoteFK->getLocalTableName(), true), $variableName);
471
+		$hasCode = sprintf($str, $remoteBeanName, $table->getName(), $remoteBeanName, $variableName, $singularName, $remoteBeanName, $variableName, var_export($remoteFK->getLocalTableName(), true), $variableName);
472 472
 
473 473
 
474
-        $code = $getterCode.$adderCode.$removerCode.$hasCode;
474
+		$code = $getterCode.$adderCode.$removerCode.$hasCode;
475 475
 
476
-        return $code;
477
-    }
476
+		return $code;
477
+	}
478 478
 
479
-    public function generateJsonSerialize() {
480
-        $tableName = $this->table->getName();
481
-        $parentFk = $this->schemaAnalyzer->getParentRelationship($tableName);
482
-        if ($parentFk !== null) {
483
-            $initializer = '$array = parent::jsonSerialize();';
484
-        } else {
485
-            $initializer = '$array = [];';
486
-        }
479
+	public function generateJsonSerialize() {
480
+		$tableName = $this->table->getName();
481
+		$parentFk = $this->schemaAnalyzer->getParentRelationship($tableName);
482
+		if ($parentFk !== null) {
483
+			$initializer = '$array = parent::jsonSerialize();';
484
+		} else {
485
+			$initializer = '$array = [];';
486
+		}
487 487
 
488
-        $str = '
488
+		$str = '
489 489
     /**
490 490
      * Serializes the object for JSON encoding
491 491
      *
@@ -501,53 +501,53 @@  discard block
 block discarded – undo
501 501
     }
502 502
 ';
503 503
 
504
-        $propertiesCode = '';
505
-        foreach ($this->beanPropertyDescriptors as $beanPropertyDescriptor) {
506
-            $propertiesCode .= $beanPropertyDescriptor->getJsonSerializeCode();
507
-        }
504
+		$propertiesCode = '';
505
+		foreach ($this->beanPropertyDescriptors as $beanPropertyDescriptor) {
506
+			$propertiesCode .= $beanPropertyDescriptor->getJsonSerializeCode();
507
+		}
508 508
 
509
-        // Many to many relationships:
509
+		// Many to many relationships:
510 510
 
511
-        $descs = $this->getPivotTableDescriptors();
511
+		$descs = $this->getPivotTableDescriptors();
512 512
 
513
-        $many2manyCode = '';
513
+		$many2manyCode = '';
514 514
 
515
-        foreach ($descs as $desc) {
516
-            $remoteFK = $desc['remoteFK'];
517
-            $remoteBeanName = TDBMDaoGenerator::getBeanNameFromTableName($remoteFK->getForeignTableName());
518
-            $variableName = '$'.TDBMDaoGenerator::toVariableName($remoteBeanName);
515
+		foreach ($descs as $desc) {
516
+			$remoteFK = $desc['remoteFK'];
517
+			$remoteBeanName = TDBMDaoGenerator::getBeanNameFromTableName($remoteFK->getForeignTableName());
518
+			$variableName = '$'.TDBMDaoGenerator::toVariableName($remoteBeanName);
519 519
 
520
-            $many2manyCode .= '        if (!$stopRecursion) {
520
+			$many2manyCode .= '        if (!$stopRecursion) {
521 521
             $array[\''.lcfirst($desc['name']).'\'] = array_map(function('.$remoteBeanName.' '.$variableName.') {
522 522
                 return '.$variableName.'->jsonSerialize(true);
523 523
             }, $this->get'.$desc['name'].'());
524 524
         }
525 525
         ';
526
-        }
527
-
528
-        return sprintf($str, $initializer, $propertiesCode, $many2manyCode);
529
-    }
530
-
531
-    /**
532
-     * Writes the PHP bean file with all getters and setters from the table passed in parameter.
533
-     *
534
-     * @param string $beannamespace The namespace of the bean
535
-     */
536
-    public function generatePhpCode($beannamespace) {
537
-        $baseClassName = TDBMDaoGenerator::getBaseBeanNameFromTableName($this->table->getName());
538
-        $className = TDBMDaoGenerator::getBeanNameFromTableName($this->table->getName());
539
-        $tableName = $this->table->getName();
540
-
541
-        $parentFk = $this->schemaAnalyzer->getParentRelationship($tableName);
542
-        if ($parentFk !== null) {
543
-            $extends = TDBMDaoGenerator::getBeanNameFromTableName($parentFk->getForeignTableName());
544
-            $use = "";
545
-        } else {
546
-            $extends = "AbstractTDBMObject";
547
-            $use = "use Mouf\\Database\\TDBM\\AbstractTDBMObject;\n\n";
548
-        }
549
-
550
-        $str = "<?php
526
+		}
527
+
528
+		return sprintf($str, $initializer, $propertiesCode, $many2manyCode);
529
+	}
530
+
531
+	/**
532
+	 * Writes the PHP bean file with all getters and setters from the table passed in parameter.
533
+	 *
534
+	 * @param string $beannamespace The namespace of the bean
535
+	 */
536
+	public function generatePhpCode($beannamespace) {
537
+		$baseClassName = TDBMDaoGenerator::getBaseBeanNameFromTableName($this->table->getName());
538
+		$className = TDBMDaoGenerator::getBeanNameFromTableName($this->table->getName());
539
+		$tableName = $this->table->getName();
540
+
541
+		$parentFk = $this->schemaAnalyzer->getParentRelationship($tableName);
542
+		if ($parentFk !== null) {
543
+			$extends = TDBMDaoGenerator::getBeanNameFromTableName($parentFk->getForeignTableName());
544
+			$use = "";
545
+		} else {
546
+			$extends = "AbstractTDBMObject";
547
+			$use = "use Mouf\\Database\\TDBM\\AbstractTDBMObject;\n\n";
548
+		}
549
+
550
+		$str = "<?php
551 551
 namespace {$beannamespace};
552 552
 
553 553
 use Mouf\\Database\\TDBM\\ResultIterator;
@@ -565,20 +565,20 @@  discard block
 block discarded – undo
565 565
 {
566 566
 ";
567 567
 
568
-        $str .= $this->generateBeanConstructor();
568
+		$str .= $this->generateBeanConstructor();
569 569
 
570 570
 
571 571
 
572
-        foreach ($this->getExposedProperties() as $property) {
573
-            $str .= $property->getGetterSetterCode();
574
-        }
572
+		foreach ($this->getExposedProperties() as $property) {
573
+			$str .= $property->getGetterSetterCode();
574
+		}
575 575
 
576
-        $str .= $this->generateDirectForeignKeysCode();
577
-        $str .= $this->generatePivotTableCode();
578
-        $str .= $this->generateJsonSerialize();
576
+		$str .= $this->generateDirectForeignKeysCode();
577
+		$str .= $this->generatePivotTableCode();
578
+		$str .= $this->generateJsonSerialize();
579 579
 
580
-        $str .= "}
580
+		$str .= "}
581 581
 ";
582
-        return $str;
583
-    }
582
+		return $str;
583
+	}
584 584
 }
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/Controllers/TdbmController.php 2 patches
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -59,10 +59,10 @@  discard block
 block discarded – undo
59 59
 		}
60 60
 				
61 61
 		if ($this->daoNamespace == null && $this->beanNamespace == null) {
62
-            $classNameMapper = ClassNameMapper::createFromComposerFile(__DIR__.'/../../../../../../../../composer.json');
62
+			$classNameMapper = ClassNameMapper::createFromComposerFile(__DIR__.'/../../../../../../../../composer.json');
63 63
 
64 64
 			$autoloadNamespaces = $classNameMapper->getManagedNamespaces();
65
-            if ($autoloadNamespaces) {
65
+			if ($autoloadNamespaces) {
66 66
 				$this->autoloadDetected = true;
67 67
 				$rootNamespace = $autoloadNamespaces[0];
68 68
 				$this->daoNamespace = $rootNamespace."Dao";
@@ -138,7 +138,7 @@  discard block
 block discarded – undo
138 138
 		
139 139
 		$tdbmService = new InstanceProxy($name);
140 140
 		/* @var $tdbmService TDBMService */
141
-        $tables = $tdbmService->generateAllDaosAndBeans($daofactoryclassname, $daonamespace, $beannamespace, $storeInUtc);
141
+		$tables = $tdbmService->generateAllDaosAndBeans($daofactoryclassname, $daonamespace, $beannamespace, $storeInUtc);
142 142
 
143 143
 
144 144
 		$moufManager->declareComponent($daofactoryinstancename, $daonamespace."\\".$daofactoryclassname, false, MoufManager::DECLARE_ON_EXIST_KEEP_INCOMING_LINKS);
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -40,7 +40,7 @@  discard block
 block discarded – undo
40 40
 	 * @Action
41 41
 	 * //@Admin
42 42
 	 */
43
-	public function defaultAction($name, $selfedit="false") {
43
+	public function defaultAction($name, $selfedit = "false") {
44 44
 		$this->initController($name, $selfedit);
45 45
 		
46 46
 		// Fill variables
@@ -87,7 +87,7 @@  discard block
 block discarded – undo
87 87
 	 * @param string $name
88 88
 	 * @param bool $selfedit
89 89
 	 */
90
-	public function generate($name, $daonamespace, $beannamespace, $daofactoryclassname, $daofactoryinstancename, $storeInUtc = 0, $selfedit="false") {
90
+	public function generate($name, $daonamespace, $beannamespace, $daofactoryclassname, $daofactoryinstancename, $storeInUtc = 0, $selfedit = "false") {
91 91
 		$this->initController($name, $selfedit);
92 92
 
93 93
 		self::generateDaos($this->moufManager, $name, $daonamespace, $beannamespace, $daofactoryclassname, $daofactoryinstancename, $selfedit, $storeInUtc);
@@ -108,7 +108,7 @@  discard block
 block discarded – undo
108 108
 	 * @param bool $storeInUtc
109 109
 	 * @throws \Mouf\MoufException
110 110
 	 */
111
-	public static function generateDaos(MoufManager $moufManager, $name, $daonamespace, $beannamespace, $daofactoryclassname, $daofactoryinstancename, $selfedit="false", $storeInUtc = null) {
111
+	public static function generateDaos(MoufManager $moufManager, $name, $daonamespace, $beannamespace, $daofactoryclassname, $daofactoryinstancename, $selfedit = "false", $storeInUtc = null) {
112 112
 		$moufManager->setVariable("tdbmDefaultDaoNamespace_".$name, $daonamespace);
113 113
 		$moufManager->setVariable("tdbmDefaultBeanNamespace_".$name, $beannamespace);
114 114
 		$moufManager->setVariable("tdbmDefaultDaoFactoryName_".$name, $daofactoryclassname);
@@ -155,7 +155,7 @@  discard block
 block discarded – undo
155 155
 			$moufManager->bindComponentViaSetter($instanceName, "setTdbmService", $name);
156 156
 			$moufManager->bindComponentViaSetter($daofactoryinstancename, "set".$daoName, $instanceName);
157 157
 
158
-			$tableToBeanMap[$table] = $beannamespace . "\\" . TDBMDaoGenerator::getBeanNameFromTableName($table);
158
+			$tableToBeanMap[$table] = $beannamespace."\\".TDBMDaoGenerator::getBeanNameFromTableName($table);
159 159
 		}
160 160
 		$tdbmServiceDescriptor = $moufManager->getInstanceDescriptor($name);
161 161
 		$tdbmServiceDescriptor->getSetterProperty("setTableToBeanMap")->setValue($tableToBeanMap);
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/TDBMObjectStateEnum.php 1 patch
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -25,10 +25,10 @@
 block discarded – undo
25 25
  * @author David Negrier
26 26
  */
27 27
 final class TDBMObjectStateEnum extends AbstractTDBMObject {
28
-    const STATE_DETACHED = "detached";
29
-    const STATE_NEW = "new";
30
-    const STATE_NOT_LOADED = "not loaded";
31
-    const STATE_LOADED = "loaded";
32
-    const STATE_DIRTY = "dirty";
33
-    const STATE_DELETED = "deleted";
28
+	const STATE_DETACHED = "detached";
29
+	const STATE_NEW = "new";
30
+	const STATE_NOT_LOADED = "not loaded";
31
+	const STATE_LOADED = "loaded";
32
+	const STATE_DIRTY = "dirty";
33
+	const STATE_DELETED = "deleted";
34 34
 }
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/InnerResultArray.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -77,7 +77,7 @@
 block discarded – undo
77 77
 
78 78
 
79 79
 	private function toIndex($offset) {
80
-		if ($offset < 0 || filter_var($offset, FILTER_VALIDATE_INT) === false) {
80
+		if ($offset<0 || filter_var($offset, FILTER_VALIDATE_INT) === false) {
81 81
 			throw new TDBMInvalidOffsetException('Trying to access result set using offset "'.$offset.'". An offset must be a positive integer.');
82 82
 		}
83 83
 		if ($this->statement === null) {
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/InnerResultIterator.php 1 patch
Unused Use Statements   -1 removed lines patch added patch discarded remove patch
@@ -18,7 +18,6 @@
 block discarded – undo
18 18
  along with this program; if not, write to the Free Software
19 19
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20 20
  */
21
-use Doctrine\DBAL\Driver\Connection;
22 21
 
23 22
 
24 23
 /**
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/ResultIterator.php 2 patches
Unused Use Statements   -1 removed lines patch added patch discarded remove patch
@@ -18,7 +18,6 @@
 block discarded – undo
18 18
  along with this program; if not, write to the Free Software
19 19
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20 20
  */
21
-use Doctrine\DBAL\Driver\Connection;
22 21
 
23 22
 
24 23
 /**
Please login to merge, or discard this patch.
Doc Comments   +8 added lines patch added patch discarded remove patch
@@ -70,6 +70,13 @@  discard block
 block discarded – undo
70 70
 
71 71
 	private $mode;
72 72
 	
73
+	/**
74
+	 * @param string $magicSql
75
+	 * @param string $magicSqlCount
76
+	 * @param WeakrefObjectStorage $objectStorage
77
+	 * @param string|null $className
78
+	 * @param integer $mode
79
+	 */
73 80
 	public function __construct($magicSql, $magicSqlCount, array $parameters, array $columnDescriptors, $objectStorage, $className, TDBMService $tdbmService, MagicQuery $magicQuery, $mode)
74 81
 	{
75 82
 		$this->magicSql = $magicSql;
@@ -166,6 +173,7 @@  discard block
 block discarded – undo
166 173
 
167 174
 	/**
168 175
 	 * @param int $offset
176
+	 * @param integer $limit
169 177
 	 * @return PageIterator
170 178
 	 */
171 179
 	public function take($offset, $limit)
Please login to merge, or discard this patch.
src/views/tdbmGenerate.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@
 block discarded – undo
29 29
 <div class="control-group">
30 30
 	<label class="control-label">Store dates / timestamps in UTC:</label>
31 31
 	<div class="controls">
32
-		<input type="checkbox" name="storeInUtc" value="1" <?php echo $this->storeInUtc?'checked="checked"':"" ?>></input>
32
+		<input type="checkbox" name="storeInUtc" value="1" <?php echo $this->storeInUtc ? 'checked="checked"' : "" ?>></input>
33 33
 		<span class="help-block">Select this option if you want timestamps to be stored in UTC.
34 34
 		If your application supports several time zones, you should select this option to store all dates in
35 35
 		the same time zone.</span>
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/TDBMService.php 5 patches
Doc Comments   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -985,7 +985,7 @@  discard block
 block discarded – undo
985 985
 	 * This is used internally by TDBM to add an object to the list of objects that have been
986 986
 	 * created/updated but not saved yet.
987 987
 	 *
988
-	 * @param AbstractTDBMObject $myObject
988
+	 * @param DbRow $myObject
989 989
 	 */
990 990
 	public function _addToToSaveObjectList(DbRow $myObject) {
991 991
 		$this->toSaveObjects[] = $myObject;
@@ -1621,7 +1621,7 @@  discard block
 block discarded – undo
1621 1621
 	}
1622 1622
 
1623 1623
 	/**
1624
-	 * @param $table
1624
+	 * @param string $table
1625 1625
 	 * @param array $primaryKeys
1626 1626
 	 * @param array $additionalTablesFetch
1627 1627
 	 * @param bool $lazy Whether to perform lazy loading on this object or not.
@@ -1778,7 +1778,7 @@  discard block
 block discarded – undo
1778 1778
 	/**
1779 1779
 	 * @param $pivotTableName
1780 1780
 	 * @param AbstractTDBMObject $bean
1781
-	 * @return AbstractTDBMObject[]
1781
+	 * @return ResultIterator
1782 1782
 	 */
1783 1783
 	public function _getRelatedBeans($pivotTableName, AbstractTDBMObject $bean) {
1784 1784
 
Please login to merge, or discard this patch.
Unused Use Statements   -5 removed lines patch added patch discarded remove patch
@@ -22,16 +22,11 @@
 block discarded – undo
22 22
 use Doctrine\Common\Cache\Cache;
23 23
 use Doctrine\Common\Cache\VoidCache;
24 24
 use Doctrine\DBAL\Connection;
25
-use Doctrine\DBAL\DBALException;
26
-use Doctrine\DBAL\Schema\Column;
27 25
 use Doctrine\DBAL\Schema\ForeignKeyConstraint;
28
-use Doctrine\DBAL\Schema\Schema;
29 26
 use Mouf\Database\MagicQuery;
30 27
 use Mouf\Database\SchemaAnalyzer\SchemaAnalyzer;
31 28
 use Mouf\Database\TDBM\Filters\OrderBySQLString;
32 29
 use Mouf\Database\TDBM\Utils\TDBMDaoGenerator;
33
-use Mouf\Utils\Cache\CacheInterface;
34
-use SQLParser\Node\ColRef;
35 30
 
36 31
 /**
37 32
  * The TDBMService class is the main TDBM class. It provides methods to retrieve TDBMObject instances
Please login to merge, or discard this patch.
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -699,9 +699,9 @@  discard block
 block discarded – undo
699 699
 		// 4-2, let's take all the objects out of the orderby bag, and let's make objects from them
700 700
 		$orderby_bag2 = array();
701 701
 		foreach ($orderby_bag as $thing) {
702
-			if (is_a($thing,'Mouf\\Database\\TDBM\\Filters\\OrderBySQLString')) {
702
+			if (is_a($thing, 'Mouf\\Database\\TDBM\\Filters\\OrderBySQLString')) {
703 703
 				$orderby_bag2[] = $thing;
704
-			} elseif (is_a($thing,'Mouf\\Database\\TDBM\\Filters\\OrderByColumn')) {
704
+			} elseif (is_a($thing, 'Mouf\\Database\\TDBM\\Filters\\OrderByColumn')) {
705 705
 				$orderby_bag2[] = $thing;
706 706
 			} elseif (is_string($thing)) {
707 707
 				$orderby_bag2[] = new OrderBySQLString($thing);
@@ -1204,7 +1204,7 @@  discard block
 block discarded – undo
1204 1204
 		$schemaAnalyzer = $this->schemaAnalyzer;
1205 1205
 
1206 1206
 		foreach ($tables as $currentTable) {
1207
-			$allParents = [ $currentTable ];
1207
+			$allParents = [$currentTable];
1208 1208
 			$currentFk = null;
1209 1209
 			while ($currentFk = $schemaAnalyzer->getParentRelationship($currentTable)) {
1210 1210
 				$currentTable = $currentFk->getForeignTableName();
@@ -1246,7 +1246,7 @@  discard block
 block discarded – undo
1246 1246
 		// Let's scan the parent tables
1247 1247
 		$currentTable = $table;
1248 1248
 
1249
-		$parentTables = [ ];
1249
+		$parentTables = [];
1250 1250
 
1251 1251
 		// Get parent relationship
1252 1252
 		while ($currentFk = $schemaAnalyzer->getParentRelationship($currentTable)) {
@@ -1336,7 +1336,7 @@  discard block
 block discarded – undo
1336 1336
 	 * @return ResultIterator An object representing an array of results.
1337 1337
 	 * @throws TDBMException
1338 1338
 	 */
1339
-	public function findObjects($mainTable, $filter=null, array $parameters = array(), $orderString=null, array $additionalTablesFetch = array(), $mode = null, $className=null) {
1339
+	public function findObjects($mainTable, $filter = null, array $parameters = array(), $orderString = null, array $additionalTablesFetch = array(), $mode = null, $className = null) {
1340 1340
 		// $mainTable is not secured in MagicJoin, let's add a bit of security to avoid SQL injection.
1341 1341
 		if (!preg_match('/^[a-zA-Z_][a-zA-Z0-9_]*$/', $mainTable)) {
1342 1342
 			throw new TDBMException(sprintf("Invalid table name: '%s'", $mainTable));
@@ -1405,7 +1405,7 @@  discard block
 block discarded – undo
1405 1405
 			throw new TDBMException("Unknown fetch mode: '".$this->mode."'");
1406 1406
 		}
1407 1407
 
1408
-		$mode = $mode?:$this->mode;
1408
+		$mode = $mode ?: $this->mode;
1409 1409
 
1410 1410
 		return new ResultIterator($sql, $countSql, $parameters, $columnDescList, $this->objectStorage, $className, $this, $this->magicQuery, $mode);
1411 1411
 	}
@@ -1419,7 +1419,7 @@  discard block
 block discarded – undo
1419 1419
 	 * @return AbstractTDBMObject
1420 1420
 	 * @throws TDBMException
1421 1421
 	 */
1422
-	public function findObjectByPk($table, array $primaryKeys, array $additionalTablesFetch = array(), $lazy = false, $className=null) {
1422
+	public function findObjectByPk($table, array $primaryKeys, array $additionalTablesFetch = array(), $lazy = false, $className = null) {
1423 1423
 		$primaryKeys = $this->_getPrimaryKeysFromObjectData($table, $primaryKeys);
1424 1424
 		$hash = $this->getObjectHash($primaryKeys);
1425 1425
 
@@ -1439,7 +1439,7 @@  discard block
 block discarded – undo
1439 1439
 			// Only allowed if no inheritance.
1440 1440
 			if (count($tables) === 1) {
1441 1441
 				if ($className === null) {
1442
-					$className = isset($this->tableToBeanMap[$table])?$this->tableToBeanMap[$table]:"Mouf\\Database\\TDBM\\TDBMObject";
1442
+					$className = isset($this->tableToBeanMap[$table]) ? $this->tableToBeanMap[$table] : "Mouf\\Database\\TDBM\\TDBMObject";
1443 1443
 				}
1444 1444
 
1445 1445
 				// Let's construct the bean
@@ -1468,11 +1468,11 @@  discard block
 block discarded – undo
1468 1468
 	 * @return AbstractTDBMObject|null The object we want, or null if no object matches the filters.
1469 1469
 	 * @throws TDBMException
1470 1470
 	 */
1471
-	public function findObject($mainTable, $filterString=null, array $parameters = array(), array $additionalTablesFetch = array(), $className = null) {
1471
+	public function findObject($mainTable, $filterString = null, array $parameters = array(), array $additionalTablesFetch = array(), $className = null) {
1472 1472
 		$objects = $this->findObjects($mainTable, $filterString, $parameters, null, $additionalTablesFetch, self::MODE_ARRAY, $className);
1473 1473
 		$page = $objects->take(0, 2);
1474 1474
 		$count = $page->count();
1475
-		if ($count > 1) {
1475
+		if ($count>1) {
1476 1476
 			throw new DuplicateRowException("Error while querying an object for table '$mainTable': More than 1 row have been returned, but we should have received at most one.");
1477 1477
 		} elseif ($count === 0) {
1478 1478
 			return null;
@@ -1492,7 +1492,7 @@  discard block
 block discarded – undo
1492 1492
 	 * @return AbstractTDBMObject The object we want
1493 1493
 	 * @throws TDBMException
1494 1494
 	 */
1495
-	public function findObjectOrFail($mainTable, $filterString=null, array $parameters = array(), array $additionalTablesFetch = array(), $className = null) {
1495
+	public function findObjectOrFail($mainTable, $filterString = null, array $parameters = array(), array $additionalTablesFetch = array(), $className = null) {
1496 1496
 		$bean = $this->findObject($mainTable, $filterString, $parameters, $additionalTablesFetch, $className);
1497 1497
 		if ($bean === null) {
1498 1498
 			throw new NoBeanFoundException("No result found for query on table '".$mainTable."'");
Please login to merge, or discard this patch.
Braces   +3 added lines, -2 removed lines patch added patch discarded remove patch
@@ -693,8 +693,9 @@
 block discarded – undo
693 693
 		// Fourth, let's apply the same steps to the orderby_bag
694 694
 		// 4-1 orderby_bag should be an array, if it is a singleton, let's put it in an array.
695 695
 
696
-		if (!is_array($orderby_bag))
697
-		$orderby_bag = array($orderby_bag);
696
+		if (!is_array($orderby_bag)) {
697
+				$orderby_bag = array($orderby_bag);
698
+		}
698 699
 
699 700
 		// 4-2, let's take all the objects out of the orderby bag, and let's make objects from them
700 701
 		$orderby_bag2 = array();
Please login to merge, or discard this patch.
Indentation   +168 added lines, -168 removed lines patch added patch discarded remove patch
@@ -382,7 +382,7 @@  discard block
 block discarded – undo
382 382
 			case TDBMObjectStateEnum::STATE_DETACHED:
383 383
 				throw new TDBMInvalidOperationException('Cannot delete a detached object');
384 384
 			case TDBMObjectStateEnum::STATE_NEW:
385
-                $this->deleteManyToManyRelationships($object);
385
+				$this->deleteManyToManyRelationships($object);
386 386
 				foreach ($object->_getDbRows() as $dbRow) {
387 387
 					$this->removeFromToSaveObjectList($dbRow);
388 388
 				}
@@ -393,7 +393,7 @@  discard block
 block discarded – undo
393 393
 				}
394 394
 			case TDBMObjectStateEnum::STATE_NOT_LOADED:
395 395
 			case TDBMObjectStateEnum::STATE_LOADED:
396
-                $this->deleteManyToManyRelationships($object);
396
+				$this->deleteManyToManyRelationships($object);
397 397
 				// Let's delete db rows, in reverse order.
398 398
 				foreach (array_reverse($object->_getDbRows()) as $dbRow) {
399 399
 					$tableName = $dbRow->_getDbTableName();
@@ -411,63 +411,63 @@  discard block
 block discarded – undo
411 411
 		$object->_setStatus(TDBMObjectStateEnum::STATE_DELETED);
412 412
 	}
413 413
 
414
-    /**
415
-     * Removes all many to many relationships for this object.
416
-     * @param AbstractTDBMObject $object
417
-     */
418
-    private function deleteManyToManyRelationships(AbstractTDBMObject $object) {
419
-        foreach ($object->_getDbRows() as $tableName => $dbRow) {
420
-            $pivotTables = $this->tdbmSchemaAnalyzer->getPivotTableLinkedToTable($tableName);
421
-            foreach ($pivotTables as $pivotTable) {
422
-                $remoteBeans = $object->_getRelationships($pivotTable);
423
-                foreach ($remoteBeans as $remoteBean) {
424
-                    $object->_removeRelationship($pivotTable, $remoteBean);
425
-                }
426
-            }
427
-        }
428
-        $this->persistManyToManyRelationships($object);
429
-    }
430
-
431
-
432
-    /**
433
-     * This function removes the given object from the database. It will also remove all objects relied to the one given
434
-     * by parameter before all.
435
-     *
436
-     * Notice: if the object has a multiple primary key, the function will not work.
437
-     *
438
-     * @param AbstractTDBMObject $objToDelete
439
-     */
440
-    public function deleteCascade(AbstractTDBMObject $objToDelete) {
441
-        $this->deleteAllConstraintWithThisObject($objToDelete);
442
-        $this->delete($objToDelete);
443
-    }
444
-
445
-    /**
446
-     * This function is used only in TDBMService (private function)
447
-     * It will call deleteCascade function foreach object relied with a foreign key to the object given by parameter
448
-     *
449
-     * @param TDBMObject $obj
450
-     * @return TDBMObjectArray
451
-     */
452
-    private function deleteAllConstraintWithThisObject(TDBMObject $obj) {
453
-        $tableFrom = $this->connection->escapeDBItem($obj->_getDbTableName());
454
-        $constraints = $this->connection->getConstraintsFromTable($tableFrom);
455
-        foreach ($constraints as $constraint) {
456
-            $tableTo = $this->connection->escapeDBItem($constraint["table1"]);
457
-            $colFrom = $this->connection->escapeDBItem($constraint["col2"]);
458
-            $colTo = $this->connection->escapeDBItem($constraint["col1"]);
459
-            $idVarName = $this->connection->escapeDBItem($obj->getPrimaryKey()[0]);
460
-            $idValue = $this->connection->quoteSmart($obj->TDBMObject_id);
461
-            $sql = "SELECT DISTINCT ".$tableTo.".*"
462
-                    ." FROM ".$tableFrom
463
-                    ." LEFT JOIN ".$tableTo." ON ".$tableFrom.".".$colFrom." = ".$tableTo.".".$colTo
464
-                    ." WHERE ".$tableFrom.".".$idVarName."=".$idValue;
465
-            $result = $this->getObjectsFromSQL($constraint["table1"], $sql);
466
-            foreach ($result as $tdbmObj) {
467
-                $this->deleteCascade($tdbmObj);
468
-            }
469
-        }
470
-    }
414
+	/**
415
+	 * Removes all many to many relationships for this object.
416
+	 * @param AbstractTDBMObject $object
417
+	 */
418
+	private function deleteManyToManyRelationships(AbstractTDBMObject $object) {
419
+		foreach ($object->_getDbRows() as $tableName => $dbRow) {
420
+			$pivotTables = $this->tdbmSchemaAnalyzer->getPivotTableLinkedToTable($tableName);
421
+			foreach ($pivotTables as $pivotTable) {
422
+				$remoteBeans = $object->_getRelationships($pivotTable);
423
+				foreach ($remoteBeans as $remoteBean) {
424
+					$object->_removeRelationship($pivotTable, $remoteBean);
425
+				}
426
+			}
427
+		}
428
+		$this->persistManyToManyRelationships($object);
429
+	}
430
+
431
+
432
+	/**
433
+	 * This function removes the given object from the database. It will also remove all objects relied to the one given
434
+	 * by parameter before all.
435
+	 *
436
+	 * Notice: if the object has a multiple primary key, the function will not work.
437
+	 *
438
+	 * @param AbstractTDBMObject $objToDelete
439
+	 */
440
+	public function deleteCascade(AbstractTDBMObject $objToDelete) {
441
+		$this->deleteAllConstraintWithThisObject($objToDelete);
442
+		$this->delete($objToDelete);
443
+	}
444
+
445
+	/**
446
+	 * This function is used only in TDBMService (private function)
447
+	 * It will call deleteCascade function foreach object relied with a foreign key to the object given by parameter
448
+	 *
449
+	 * @param TDBMObject $obj
450
+	 * @return TDBMObjectArray
451
+	 */
452
+	private function deleteAllConstraintWithThisObject(TDBMObject $obj) {
453
+		$tableFrom = $this->connection->escapeDBItem($obj->_getDbTableName());
454
+		$constraints = $this->connection->getConstraintsFromTable($tableFrom);
455
+		foreach ($constraints as $constraint) {
456
+			$tableTo = $this->connection->escapeDBItem($constraint["table1"]);
457
+			$colFrom = $this->connection->escapeDBItem($constraint["col2"]);
458
+			$colTo = $this->connection->escapeDBItem($constraint["col1"]);
459
+			$idVarName = $this->connection->escapeDBItem($obj->getPrimaryKey()[0]);
460
+			$idValue = $this->connection->quoteSmart($obj->TDBMObject_id);
461
+			$sql = "SELECT DISTINCT ".$tableTo.".*"
462
+					." FROM ".$tableFrom
463
+					." LEFT JOIN ".$tableTo." ON ".$tableFrom.".".$colFrom." = ".$tableTo.".".$colTo
464
+					." WHERE ".$tableFrom.".".$idVarName."=".$idValue;
465
+			$result = $this->getObjectsFromSQL($constraint["table1"], $sql);
466
+			foreach ($result as $tdbmObj) {
467
+				$this->deleteCascade($tdbmObj);
468
+			}
469
+		}
470
+	}
471 471
 
472 472
 	/**
473 473
 	 * This function performs a save() of all the objects that have been modified.
@@ -796,8 +796,8 @@  discard block
 block discarded – undo
796 796
 	}
797 797
 
798 798
 	/**
799
- 	* @param array<string, string> $tableToBeanMap
800
- 	*/
799
+	 * @param array<string, string> $tableToBeanMap
800
+	 */
801 801
 	public function setTableToBeanMap(array $tableToBeanMap) {
802 802
 		$this->tableToBeanMap = $tableToBeanMap;
803 803
 	}
@@ -843,7 +843,7 @@  discard block
 block discarded – undo
843 843
 
844 844
 				// Let's save all references in NEW or DETACHED state (we need their primary key)
845 845
 				foreach ($references as $fkName => $reference) {
846
-                    $refStatus = $reference->_getStatus();
846
+					$refStatus = $reference->_getStatus();
847 847
 					if ($refStatus === TDBMObjectStateEnum::STATE_NEW || $refStatus === TDBMObjectStateEnum::STATE_DETACHED) {
848 848
 						$this->save($reference);
849 849
 					}
@@ -1002,94 +1002,94 @@  discard block
 block discarded – undo
1002 1002
 			throw new TDBMInvalidOperationException("This object has been deleted. It cannot be saved.");
1003 1003
 		}
1004 1004
 
1005
-        // Finally, let's save all the many to many relationships to this bean.
1006
-        $this->persistManyToManyRelationships($object);
1005
+		// Finally, let's save all the many to many relationships to this bean.
1006
+		$this->persistManyToManyRelationships($object);
1007 1007
 	}
1008 1008
 
1009
-    private function persistManyToManyRelationships(AbstractTDBMObject $object) {
1010
-        foreach ($object->_getCachedRelationships() as $pivotTableName => $storage) {
1011
-            $tableDescriptor = $this->tdbmSchemaAnalyzer->getSchema()->getTable($pivotTableName);
1012
-            list($localFk, $remoteFk) = $this->getPivotTableForeignKeys($pivotTableName, $object);
1013
-
1014
-            foreach ($storage as $remoteBean) {
1015
-                /* @var $remoteBean AbstractTDBMObject */
1016
-                $statusArr = $storage[$remoteBean];
1017
-                $status = $statusArr['status'];
1018
-                $reverse = $statusArr['reverse'];
1019
-                if ($reverse) {
1020
-                    continue;
1021
-                }
1022
-
1023
-                if ($status === 'new') {
1024
-                    $remoteBeanStatus = $remoteBean->_getStatus();
1025
-                    if ($remoteBeanStatus === TDBMObjectStateEnum::STATE_NEW || $remoteBeanStatus === TDBMObjectStateEnum::STATE_DETACHED) {
1026
-                        // Let's save remote bean if needed.
1027
-                        $this->save($remoteBean);
1028
-                    }
1009
+	private function persistManyToManyRelationships(AbstractTDBMObject $object) {
1010
+		foreach ($object->_getCachedRelationships() as $pivotTableName => $storage) {
1011
+			$tableDescriptor = $this->tdbmSchemaAnalyzer->getSchema()->getTable($pivotTableName);
1012
+			list($localFk, $remoteFk) = $this->getPivotTableForeignKeys($pivotTableName, $object);
1013
+
1014
+			foreach ($storage as $remoteBean) {
1015
+				/* @var $remoteBean AbstractTDBMObject */
1016
+				$statusArr = $storage[$remoteBean];
1017
+				$status = $statusArr['status'];
1018
+				$reverse = $statusArr['reverse'];
1019
+				if ($reverse) {
1020
+					continue;
1021
+				}
1029 1022
 
1030
-                    $filters = $this->getPivotFilters($object, $remoteBean, $localFk, $remoteFk);
1023
+				if ($status === 'new') {
1024
+					$remoteBeanStatus = $remoteBean->_getStatus();
1025
+					if ($remoteBeanStatus === TDBMObjectStateEnum::STATE_NEW || $remoteBeanStatus === TDBMObjectStateEnum::STATE_DETACHED) {
1026
+						// Let's save remote bean if needed.
1027
+						$this->save($remoteBean);
1028
+					}
1031 1029
 
1032
-                    $types = [];
1030
+					$filters = $this->getPivotFilters($object, $remoteBean, $localFk, $remoteFk);
1033 1031
 
1034
-                    foreach ($filters as $columnName => $value) {
1035
-                        $columnDescriptor = $tableDescriptor->getColumn($columnName);
1036
-                        $types[] = $columnDescriptor->getType();
1037
-                    }
1032
+					$types = [];
1033
+
1034
+					foreach ($filters as $columnName => $value) {
1035
+						$columnDescriptor = $tableDescriptor->getColumn($columnName);
1036
+						$types[] = $columnDescriptor->getType();
1037
+					}
1038 1038
 
1039
-                    $this->connection->insert($pivotTableName, $filters, $types);
1039
+					$this->connection->insert($pivotTableName, $filters, $types);
1040 1040
 
1041
-                    // Finally, let's mark relationships as saved.
1042
-                    $statusArr['status'] = 'loaded';
1043
-                    $storage[$remoteBean] = $statusArr;
1044
-                    $remoteStorage = $remoteBean->_getCachedRelationships()[$pivotTableName];
1045
-                    $remoteStatusArr = $remoteStorage[$object];
1046
-                    $remoteStatusArr['status'] = 'loaded';
1047
-                    $remoteStorage[$object] = $remoteStatusArr;
1041
+					// Finally, let's mark relationships as saved.
1042
+					$statusArr['status'] = 'loaded';
1043
+					$storage[$remoteBean] = $statusArr;
1044
+					$remoteStorage = $remoteBean->_getCachedRelationships()[$pivotTableName];
1045
+					$remoteStatusArr = $remoteStorage[$object];
1046
+					$remoteStatusArr['status'] = 'loaded';
1047
+					$remoteStorage[$object] = $remoteStatusArr;
1048 1048
 
1049
-                } elseif ($status === 'delete') {
1050
-                    $filters = $this->getPivotFilters($object, $remoteBean, $localFk, $remoteFk);
1049
+				} elseif ($status === 'delete') {
1050
+					$filters = $this->getPivotFilters($object, $remoteBean, $localFk, $remoteFk);
1051 1051
 
1052
-                    $types = [];
1052
+					$types = [];
1053 1053
 
1054
-                    foreach ($filters as $columnName => $value) {
1055
-                        $columnDescriptor = $tableDescriptor->getColumn($columnName);
1056
-                        $types[] = $columnDescriptor->getType();
1057
-                    }
1054
+					foreach ($filters as $columnName => $value) {
1055
+						$columnDescriptor = $tableDescriptor->getColumn($columnName);
1056
+						$types[] = $columnDescriptor->getType();
1057
+					}
1058
+
1059
+					$this->connection->delete($pivotTableName, $filters, $types);
1060
+
1061
+					// Finally, let's remove relationships completely from bean.
1062
+					$storage->detach($remoteBean);
1063
+					$remoteBean->_getCachedRelationships()[$pivotTableName]->detach($object);
1064
+				}
1065
+			}
1066
+		}
1067
+	}
1058 1068
 
1059
-                    $this->connection->delete($pivotTableName, $filters, $types);
1060
-
1061
-                    // Finally, let's remove relationships completely from bean.
1062
-                    $storage->detach($remoteBean);
1063
-                    $remoteBean->_getCachedRelationships()[$pivotTableName]->detach($object);
1064
-                }
1065
-            }
1066
-        }
1067
-    }
1068
-
1069
-    private function getPivotFilters(AbstractTDBMObject $localBean, AbstractTDBMObject $remoteBean, ForeignKeyConstraint $localFk, ForeignKeyConstraint $remoteFk) {
1070
-        $localBeanPk = $this->getPrimaryKeyValues($localBean);
1071
-        $remoteBeanPk = $this->getPrimaryKeyValues($remoteBean);
1072
-        $localColumns = $localFk->getLocalColumns();
1073
-        $remoteColumns = $remoteFk->getLocalColumns();
1074
-
1075
-        $localFilters = array_combine($localColumns, $localBeanPk);
1076
-        $remoteFilters = array_combine($remoteColumns, $remoteBeanPk);
1077
-
1078
-        return array_merge($localFilters, $remoteFilters);
1079
-    }
1080
-
1081
-    /**
1082
-     * Returns the "values" of the primary key.
1083
-     * This returns the primary key from the $primaryKey attribute, not the one stored in the columns.
1084
-     *
1085
-     * @param AbstractTDBMObject $bean
1086
-     * @return array numerically indexed array of values.
1087
-     */
1088
-    private function getPrimaryKeyValues(AbstractTDBMObject $bean) {
1089
-        $dbRows = $bean->_getDbRows();
1090
-        $dbRow = reset($dbRows);
1091
-        return array_values($dbRow->_getPrimaryKeys());
1092
-    }
1069
+	private function getPivotFilters(AbstractTDBMObject $localBean, AbstractTDBMObject $remoteBean, ForeignKeyConstraint $localFk, ForeignKeyConstraint $remoteFk) {
1070
+		$localBeanPk = $this->getPrimaryKeyValues($localBean);
1071
+		$remoteBeanPk = $this->getPrimaryKeyValues($remoteBean);
1072
+		$localColumns = $localFk->getLocalColumns();
1073
+		$remoteColumns = $remoteFk->getLocalColumns();
1074
+
1075
+		$localFilters = array_combine($localColumns, $localBeanPk);
1076
+		$remoteFilters = array_combine($remoteColumns, $remoteBeanPk);
1077
+
1078
+		return array_merge($localFilters, $remoteFilters);
1079
+	}
1080
+
1081
+	/**
1082
+	 * Returns the "values" of the primary key.
1083
+	 * This returns the primary key from the $primaryKey attribute, not the one stored in the columns.
1084
+	 *
1085
+	 * @param AbstractTDBMObject $bean
1086
+	 * @return array numerically indexed array of values.
1087
+	 */
1088
+	private function getPrimaryKeyValues(AbstractTDBMObject $bean) {
1089
+		$dbRows = $bean->_getDbRows();
1090
+		$dbRow = reset($dbRows);
1091
+		return array_values($dbRow->_getPrimaryKeys());
1092
+	}
1093 1093
 
1094 1094
 	/**
1095 1095
 	 * Returns a unique hash used to store the object based on its primary key.
@@ -1571,41 +1571,41 @@  discard block
 block discarded – undo
1571 1571
 	 */
1572 1572
 	public function _getRelatedBeans($pivotTableName, AbstractTDBMObject $bean) {
1573 1573
 
1574
-        list($localFk, $remoteFk) = $this->getPivotTableForeignKeys($pivotTableName, $bean);
1575
-        /* @var $localFk ForeignKeyConstraint */
1576
-        /* @var $remoteFk ForeignKeyConstraint */
1577
-        $remoteTable = $remoteFk->getForeignTableName();
1574
+		list($localFk, $remoteFk) = $this->getPivotTableForeignKeys($pivotTableName, $bean);
1575
+		/* @var $localFk ForeignKeyConstraint */
1576
+		/* @var $remoteFk ForeignKeyConstraint */
1577
+		$remoteTable = $remoteFk->getForeignTableName();
1578 1578
 
1579 1579
 
1580
-        $primaryKeys = $this->getPrimaryKeyValues($bean);
1581
-        $columnNames = array_map(function($name) use ($pivotTableName) { return $pivotTableName.'.'.$name; }, $localFk->getLocalColumns());
1580
+		$primaryKeys = $this->getPrimaryKeyValues($bean);
1581
+		$columnNames = array_map(function($name) use ($pivotTableName) { return $pivotTableName.'.'.$name; }, $localFk->getLocalColumns());
1582 1582
 
1583
-        $filter = array_combine($columnNames, $primaryKeys);
1583
+		$filter = array_combine($columnNames, $primaryKeys);
1584 1584
 
1585
-        return $this->findObjects($remoteTable, $filter);
1585
+		return $this->findObjects($remoteTable, $filter);
1586 1586
 	}
1587 1587
 
1588
-    /**
1589
-     * @param $pivotTableName
1590
-     * @param AbstractTDBMObject $bean The LOCAL bean
1591
-     * @return ForeignKeyConstraint[] First item: the LOCAL bean, second item: the REMOTE bean.
1592
-     * @throws TDBMException
1593
-     */
1594
-    private function getPivotTableForeignKeys($pivotTableName, AbstractTDBMObject $bean) {
1595
-        $fks = array_values($this->tdbmSchemaAnalyzer->getSchema()->getTable($pivotTableName)->getForeignKeys());
1596
-        $table1 = $fks[0]->getForeignTableName();
1597
-        $table2 = $fks[1]->getForeignTableName();
1598
-
1599
-        $beanTables = array_map(function(DbRow $dbRow) { return $dbRow->_getDbTableName(); }, $bean->_getDbRows());
1600
-
1601
-        if (in_array($table1, $beanTables)) {
1602
-            return [$fks[0], $fks[1]];
1603
-        } elseif (in_array($table2, $beanTables)) {
1604
-            return [$fks[1], $fks[0]];
1605
-        } else {
1606
-            throw new TDBMException("Unexpected bean type in getPivotTableForeignKeys. Awaiting beans from table {$table1} and {$table2} for pivot table {$pivotTableName}");
1607
-        }
1608
-    }
1588
+	/**
1589
+	 * @param $pivotTableName
1590
+	 * @param AbstractTDBMObject $bean The LOCAL bean
1591
+	 * @return ForeignKeyConstraint[] First item: the LOCAL bean, second item: the REMOTE bean.
1592
+	 * @throws TDBMException
1593
+	 */
1594
+	private function getPivotTableForeignKeys($pivotTableName, AbstractTDBMObject $bean) {
1595
+		$fks = array_values($this->tdbmSchemaAnalyzer->getSchema()->getTable($pivotTableName)->getForeignKeys());
1596
+		$table1 = $fks[0]->getForeignTableName();
1597
+		$table2 = $fks[1]->getForeignTableName();
1598
+
1599
+		$beanTables = array_map(function(DbRow $dbRow) { return $dbRow->_getDbTableName(); }, $bean->_getDbRows());
1600
+
1601
+		if (in_array($table1, $beanTables)) {
1602
+			return [$fks[0], $fks[1]];
1603
+		} elseif (in_array($table2, $beanTables)) {
1604
+			return [$fks[1], $fks[0]];
1605
+		} else {
1606
+			throw new TDBMException("Unexpected bean type in getPivotTableForeignKeys. Awaiting beans from table {$table1} and {$table2} for pivot table {$pivotTableName}");
1607
+		}
1608
+	}
1609 1609
 
1610 1610
 	/**
1611 1611
 	 * Returns a list of pivot tables linked to $bean.
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/MapIterator.php 2 patches
Indentation   +71 added lines, -71 removed lines patch added patch discarded remove patch
@@ -9,85 +9,85 @@
 block discarded – undo
9 9
  */
10 10
 class MapIterator implements Iterator {
11 11
 
12
-    /**
13
-     * @var Iterator
14
-     */
15
-    protected $iterator;
12
+	/**
13
+	 * @var Iterator
14
+	 */
15
+	protected $iterator;
16 16
 
17
-    /**
18
-     * @var callable Modifies the current item in iterator
19
-     */
20
-    protected $callable;
17
+	/**
18
+	 * @var callable Modifies the current item in iterator
19
+	 */
20
+	protected $callable;
21 21
 
22
-    /**
23
-     * @param $iterator Iterator|array
24
-     * @param $callable callable This can have two parameters
25
-     * @throws TDBMException
26
-     */
27
-    public function __construct($iterator, callable $callable) {
28
-        if (is_array($iterator)) {
29
-            $this->iterator = new \ArrayIterator($iterator);
30
-        }
31
-        elseif (!($iterator instanceof Iterator))
32
-        {
33
-            throw new TDBMException("\$iterator parameter must be an instance of Iterator");
34
-        }
35
-        else
36
-        {
37
-            $this->iterator = $iterator;
38
-        }
22
+	/**
23
+	 * @param $iterator Iterator|array
24
+	 * @param $callable callable This can have two parameters
25
+	 * @throws TDBMException
26
+	 */
27
+	public function __construct($iterator, callable $callable) {
28
+		if (is_array($iterator)) {
29
+			$this->iterator = new \ArrayIterator($iterator);
30
+		}
31
+		elseif (!($iterator instanceof Iterator))
32
+		{
33
+			throw new TDBMException("\$iterator parameter must be an instance of Iterator");
34
+		}
35
+		else
36
+		{
37
+			$this->iterator = $iterator;
38
+		}
39 39
 
40
-        if ($callable instanceof \Closure) {
41
-            // make sure there's one argument
42
-            $reflection = new \ReflectionObject($callable);
43
-            if ($reflection->hasMethod('__invoke')) {
44
-                $method = $reflection->getMethod('__invoke');
45
-                if ($method->getNumberOfParameters() !== 1) {
46
-                    throw new TDBMException("\$callable must accept one and only one parameter.");
47
-                }
48
-            }
49
-        }
40
+		if ($callable instanceof \Closure) {
41
+			// make sure there's one argument
42
+			$reflection = new \ReflectionObject($callable);
43
+			if ($reflection->hasMethod('__invoke')) {
44
+				$method = $reflection->getMethod('__invoke');
45
+				if ($method->getNumberOfParameters() !== 1) {
46
+					throw new TDBMException("\$callable must accept one and only one parameter.");
47
+				}
48
+			}
49
+		}
50 50
 
51
-        $this->callable = $callable;
52
-    }
51
+		$this->callable = $callable;
52
+	}
53 53
 
54
-    /**
55
-     * Alters the current item with $this->callable and returns a new item.
56
-     * Be careful with your types as we can't do static type checking here!
57
-     * @return mixed
58
-     */
59
-    public function current()
60
-    {
61
-        $callable = $this->callable;
62
-        return $callable($this->iterator->current());
63
-    }
54
+	/**
55
+	 * Alters the current item with $this->callable and returns a new item.
56
+	 * Be careful with your types as we can't do static type checking here!
57
+	 * @return mixed
58
+	 */
59
+	public function current()
60
+	{
61
+		$callable = $this->callable;
62
+		return $callable($this->iterator->current());
63
+	}
64 64
 
65
-    public function next()
66
-    {
67
-        $this->iterator->next();
68
-    }
65
+	public function next()
66
+	{
67
+		$this->iterator->next();
68
+	}
69 69
 
70
-    public function key()
71
-    {
72
-        return $this->iterator->key();
73
-    }
70
+	public function key()
71
+	{
72
+		return $this->iterator->key();
73
+	}
74 74
 
75
-    public function valid()
76
-    {
77
-        return $this->iterator->valid();
78
-    }
75
+	public function valid()
76
+	{
77
+		return $this->iterator->valid();
78
+	}
79 79
 
80
-    public function rewind()
81
-    {
82
-        $this->iterator->rewind();
83
-    }
80
+	public function rewind()
81
+	{
82
+		$this->iterator->rewind();
83
+	}
84 84
 
85
-    /**
86
-     * Casts the iterator to a PHP array.
87
-     *
88
-     * @return array
89
-     */
90
-    public function toArray() {
91
-        return iterator_to_array($this);
92
-    }
85
+	/**
86
+	 * Casts the iterator to a PHP array.
87
+	 *
88
+	 * @return array
89
+	 */
90
+	public function toArray() {
91
+		return iterator_to_array($this);
92
+	}
93 93
 }
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -27,12 +27,10 @@
 block discarded – undo
27 27
     public function __construct($iterator, callable $callable) {
28 28
         if (is_array($iterator)) {
29 29
             $this->iterator = new \ArrayIterator($iterator);
30
-        }
31
-        elseif (!($iterator instanceof Iterator))
30
+        } elseif (!($iterator instanceof Iterator))
32 31
         {
33 32
             throw new TDBMException("\$iterator parameter must be an instance of Iterator");
34
-        }
35
-        else
33
+        } else
36 34
         {
37 35
             $this->iterator = $iterator;
38 36
         }
Please login to merge, or discard this patch.