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