|
@@ -146,17 +146,28 @@ class ConditionsBuilder
|
146
|
146
|
private function getSpatialFunctionName(string $operator): string
|
147
|
147
|
{
|
148
|
148
|
switch ($operator) {
|
149
|
|
- case 'co':return 'ST_Contains';
|
150
|
|
- case 'cr':return 'ST_Crosses';
|
151
|
|
- case 'di':return 'ST_Disjoint';
|
152
|
|
- case 'eq':return 'ST_Equals';
|
153
|
|
- case 'in':return 'ST_Intersects';
|
154
|
|
- case 'ov':return 'ST_Overlaps';
|
155
|
|
- case 'to':return 'ST_Touches';
|
156
|
|
- case 'wi':return 'ST_Within';
|
157
|
|
- case 'ic':return 'ST_IsClosed';
|
158
|
|
- case 'is':return 'ST_IsSimple';
|
159
|
|
- case 'iv':return 'ST_IsValid';
|
|
149
|
+ case 'co':
|
|
150
|
+ return 'ST_Contains';
|
|
151
|
+ case 'cr':
|
|
152
|
+ return 'ST_Crosses';
|
|
153
|
+ case 'di':
|
|
154
|
+ return 'ST_Disjoint';
|
|
155
|
+ case 'eq':
|
|
156
|
+ return 'ST_Equals';
|
|
157
|
+ case 'in':
|
|
158
|
+ return 'ST_Intersects';
|
|
159
|
+ case 'ov':
|
|
160
|
+ return 'ST_Overlaps';
|
|
161
|
+ case 'to':
|
|
162
|
+ return 'ST_Touches';
|
|
163
|
+ case 'wi':
|
|
164
|
+ return 'ST_Within';
|
|
165
|
+ case 'ic':
|
|
166
|
+ return 'ST_IsClosed';
|
|
167
|
+ case 'is':
|
|
168
|
+ return 'ST_IsSimple';
|
|
169
|
+ case 'iv':
|
|
170
|
+ return 'ST_IsValid';
|
160
|
171
|
}
|
161
|
172
|
}
|
162
|
173
|
|
|
@@ -176,6 +187,9 @@ class ConditionsBuilder
|
176
|
187
|
$functionName = str_replace('ST_', 'ST', $functionName);
|
177
|
188
|
$argument = $hasArgument ? 'geometry::STGeomFromText(?,0)' : '';
|
178
|
189
|
return "$column.$functionName($argument)=1";
|
|
190
|
+ case 'sqlite':
|
|
191
|
+ $argument = $hasArgument ? '?' : '0';
|
|
192
|
+ return "$functionName($column, $argument)=1";
|
179
|
193
|
}
|
180
|
194
|
}
|
181
|
195
|
|