@@ 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 | /** |
@@ 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 | } |