@@ 382-406 (lines=25) @@ | ||
379 | * |
|
380 | * @return \Closure |
|
381 | */ |
|
382 | private function onWhereWrapper() |
|
383 | { |
|
384 | return function ($parameter) { |
|
385 | if ($parameter instanceof FragmentInterface) { |
|
386 | //We are only not creating bindings for plan fragments |
|
387 | if (!$parameter instanceof ParameterInterface && !$parameter instanceof QueryBuilder) { |
|
388 | return $parameter; |
|
389 | } |
|
390 | } |
|
391 | ||
392 | if (is_array($parameter)) { |
|
393 | throw new BuilderException('Arrays must be wrapped with Parameter instance'); |
|
394 | } |
|
395 | ||
396 | //Wrapping all values with ParameterInterface |
|
397 | if (!$parameter instanceof ParameterInterface && !$parameter instanceof ExpressionInterface) { |
|
398 | $parameter = new Parameter($parameter, Parameter::DETECT_TYPE); |
|
399 | }; |
|
400 | ||
401 | //Let's store to sent to driver when needed |
|
402 | $this->onParameters[] = $parameter; |
|
403 | ||
404 | return $parameter; |
|
405 | }; |
|
406 | } |
|
407 | } |
|
408 |
@@ 255-280 (lines=26) @@ | ||
252 | * |
|
253 | * @return \Closure |
|
254 | */ |
|
255 | private function havingWrapper() |
|
256 | { |
|
257 | return function ($parameter) { |
|
258 | if ($parameter instanceof FragmentInterface) { |
|
259 | ||
260 | //We are only not creating bindings for plan fragments |
|
261 | if (!$parameter instanceof ParameterInterface && !$parameter instanceof QueryBuilder) { |
|
262 | return $parameter; |
|
263 | } |
|
264 | } |
|
265 | ||
266 | if (is_array($parameter)) { |
|
267 | throw new BuilderException('Arrays must be wrapped with Parameter instance'); |
|
268 | } |
|
269 | ||
270 | //Wrapping all values with ParameterInterface |
|
271 | if (!$parameter instanceof ParameterInterface && !$parameter instanceof ExpressionInterface) { |
|
272 | $parameter = new Parameter($parameter, Parameter::DETECT_TYPE); |
|
273 | }; |
|
274 | ||
275 | //Let's store to sent to driver when needed |
|
276 | $this->havingParameters[] = $parameter; |
|
277 | ||
278 | return $parameter; |
|
279 | }; |
|
280 | } |
|
281 | } |
|
282 |
@@ 384-408 (lines=25) @@ | ||
381 | * |
|
382 | * @return \Closure |
|
383 | */ |
|
384 | private function whereWrapper() |
|
385 | { |
|
386 | return function ($parameter) { |
|
387 | if ($parameter instanceof FragmentInterface) { |
|
388 | //We are only not creating bindings for plan fragments |
|
389 | if (!$parameter instanceof ParameterInterface && !$parameter instanceof QueryBuilder) { |
|
390 | return $parameter; |
|
391 | } |
|
392 | } |
|
393 | ||
394 | if (is_array($parameter)) { |
|
395 | throw new BuilderException('Arrays must be wrapped with Parameter instance'); |
|
396 | } |
|
397 | ||
398 | //Wrapping all values with ParameterInterface |
|
399 | if (!$parameter instanceof ParameterInterface && !$parameter instanceof ExpressionInterface) { |
|
400 | $parameter = new Parameter($parameter, Parameter::DETECT_TYPE); |
|
401 | }; |
|
402 | ||
403 | //Let's store to sent to driver when needed |
|
404 | $this->whereParameters[] = $parameter; |
|
405 | ||
406 | return $parameter; |
|
407 | }; |
|
408 | } |
|
409 | } |
|
410 |