1 <?php
2 3 4 5 6 7
8 namespace Cross\DB\SQLAssembler;
9
10 11 12 13 14
15 class MySQLAssembler extends SQLAssembler
16 {
17 18 19 20 21 22 23 24 25 26 27 28 29
30 function parseCondition($operator, $field, $field_config, $is_mixed_field, $condition_connector, $connector, array &$params)
31 {
32 $condition = array();
33 switch ($connector) {
34 case 'FIND_IN_SET':
35 $condition[" {$condition_connector} "][] = sprintf('FIND_IN_SET(?, %s)', $field);
36 $params[] = $field_config;
37 break;
38
39 case 'REGEXP':
40 $condition[" {$condition_connector} "][] = sprintf('%s REGEXP(?)', $field);
41 $params[] = $field_config;
42 break;
43
44 case 'INSTR':
45 $condition[" {$condition_connector} "][] = sprintf('INSTR(%s, ?)', $field);
46 $params[] = $field_config;
47 break;
48
49 default:
50 $condition = parent::parseCondition($operator, $field, $field_config, $is_mixed_field, $condition_connector, $connector, $params);
51 }
52
53 return $condition;
54 }
55 }
56