Code Duplication    Length = 54-54 lines in 2 locations

src/Scaffolder/Compilers/Core/ControllerCompiler.php 1 location

@@ 215-268 (lines=54) @@
212
	 *
213
	 * @return $this
214
	 */
215
	private function replaceSimpleFilter(){
216
		$i = 0;
217
218
		$stubSimpleFilter = '';
219
220
		foreach ($this->modelData->fields as $field)
221
		{
222
			//var_dump($field->name);
223
			
224
			if($field->index == 'primary'){
225
				$dbType = 'primaryKey' ;
226
			}
227
			elseif($field->foreignKey){
228
				$dbType = 'primary' ;
229
			}
230
			elseif($field->type->db == 'enum'){
231
				$dbType = 'primary' ;
232
			}
233
			elseif($field->type->db == 'boolean'){
234
				$dbType = 'primary' ;
235
			}
236
			elseif($field->type->db == 'text'){
237
				$dbType = 'string' ;
238
			}
239
			else {
240
				$dbType = $field->type->db ;
241
			}
242
			
243
			if($dbType == 'primaryKey')
244
			{
245
				$stubSimpleFilter .= '$query->where("'.$this->modelData->tableName.'.'.$field->name.'", "=", $'.$this->modelData->tableName.'Conditions["'.$field->name.'"])'.PHP_EOL;
246
			}
247
248
			if($dbType == 'primary')
249
			{
250
				$stubSimpleFilter .= '->orWhere("'.$this->modelData->tableName.'.'.$field->name.'", "=", $'.$this->modelData->tableName.'Conditions["'.$field->name.'"])'.PHP_EOL;
251
			}
252
253
			if($dbType == 'string')
254
			{
255
				$stubSimpleFilter .= '->orWhere("'.$this->modelData->tableName.'.'.$field->name.'", "LIKE", "%".$'.$this->modelData->tableName.'Conditions["'.$field->name.'"]."%")'.PHP_EOL;
256
			}
257
258
			if($dbType == 'date' || $dbType == 'datetime' || $dbType == 'float' || $dbType == 'integer' || $dbType == 'number')
259
			{
260
				$stubSimpleFilter .= '->orWhere("'.$this->modelData->tableName.'.'.$field->name.'", "=", $'.$this->modelData->tableName.'Conditions["'.$field->name.'"])'.PHP_EOL;
261
			}
262
263
		}
264
		$stubSimpleFilter .= ';';
265
		$this->stub = str_replace('{{simple_filter}}', $stubSimpleFilter, $this->stub);
266
267
		return $this;
268
	}
269
270
271
	/**

src/Scaffolder/Compilers/Core/ModelCompiler.php 1 location

@@ 648-701 (lines=54) @@
645
	 *
646
	 * @return $this
647
	 */
648
	private function replaceSimpleFilter(){
649
		$i = 0;
650
651
		$stubSimpleFilter = '';
652
653
		foreach ($this->modelData->fields as $field)
654
		{
655
			//var_dump($field->name);
656
			
657
			if($field->index == 'primary'){
658
				$dbType = 'primaryKey' ;
659
			}
660
			elseif($field->foreignKey){
661
				$dbType = 'primary' ;
662
			}
663
			elseif($field->type->db == 'enum'){
664
				$dbType = 'primary' ;
665
			}
666
			elseif($field->type->db == 'boolean'){
667
				$dbType = 'primary' ;
668
			}
669
			elseif($field->type->db == 'text'){
670
				$dbType = 'string' ;
671
			}
672
			else {
673
				$dbType = $field->type->db ;
674
			}
675
			
676
			if($dbType == 'primaryKey')
677
			{
678
				$stubSimpleFilter .= '$query->where("'.$this->modelData->tableName.'.'.$field->name.'", "=", $'.$this->modelData->tableName.'Conditions["'.$field->name.'"])'.PHP_EOL;
679
			}
680
681
			if($dbType == 'primary')
682
			{
683
				$stubSimpleFilter .= '->orWhere("'.$this->modelData->tableName.'.'.$field->name.'", "=", $'.$this->modelData->tableName.'Conditions["'.$field->name.'"])'.PHP_EOL;
684
			}
685
686
			if($dbType == 'string')
687
			{
688
				$stubSimpleFilter .= '->orWhere("'.$this->modelData->tableName.'.'.$field->name.'", "LIKE", "%".$'.$this->modelData->tableName.'Conditions["'.$field->name.'"]."%")'.PHP_EOL;
689
			}
690
691
			if($dbType == 'date' || $dbType == 'datetime' || $dbType == 'float' || $dbType == 'integer' || $dbType == 'number')
692
			{
693
				$stubSimpleFilter .= '->orWhere("'.$this->modelData->tableName.'.'.$field->name.'", "=", $'.$this->modelData->tableName.'Conditions["'.$field->name.'"])'.PHP_EOL;
694
			}
695
696
		}
697
		$stubSimpleFilter .= ';';
698
		$this->stub = str_replace('{{simple_filter}}', $stubSimpleFilter, $this->stub);
699
700
		return $this;
701
	}
702
}