| @@ 421-445 (lines=25) @@ | ||
| 418 | * |
|
| 419 | * @return \Closure |
|
| 420 | */ |
|
| 421 | private function havingWrapper() |
|
| 422 | { |
|
| 423 | return function ($parameter) { |
|
| 424 | if ($parameter instanceof FragmentInterface) { |
|
| 425 | //We are only not creating bindings for plan fragments |
|
| 426 | if (!$parameter instanceof ParameterInterface && !$parameter instanceof QueryBuilder) { |
|
| 427 | return $parameter; |
|
| 428 | } |
|
| 429 | } |
|
| 430 | ||
| 431 | if (is_array($parameter)) { |
|
| 432 | throw new BuilderException("Arrays must be wrapped with Parameter instance."); |
|
| 433 | } |
|
| 434 | ||
| 435 | //Wrapping all values with ParameterInterface |
|
| 436 | if (!$parameter instanceof ParameterInterface && !$parameter instanceof ExpressionInterface) { |
|
| 437 | $parameter = new Parameter($parameter, Parameter::DETECT_TYPE); |
|
| 438 | }; |
|
| 439 | ||
| 440 | //Let's store to sent to driver when needed |
|
| 441 | $this->havingParameters[] = $parameter; |
|
| 442 | ||
| 443 | return $parameter; |
|
| 444 | }; |
|
| 445 | } |
|
| 446 | } |
|
| @@ 346-370 (lines=25) @@ | ||
| 343 | * |
|
| 344 | * @return \Closure |
|
| 345 | */ |
|
| 346 | private function whereWrapper() |
|
| 347 | { |
|
| 348 | return function ($parameter) { |
|
| 349 | if ($parameter instanceof FragmentInterface) { |
|
| 350 | //We are only not creating bindings for plan fragments |
|
| 351 | if (!$parameter instanceof ParameterInterface && !$parameter instanceof QueryBuilder) { |
|
| 352 | return $parameter; |
|
| 353 | } |
|
| 354 | } |
|
| 355 | ||
| 356 | if (is_array($parameter)) { |
|
| 357 | throw new BuilderException("Arrays must be wrapped with Parameter instance."); |
|
| 358 | } |
|
| 359 | ||
| 360 | //Wrapping all values with ParameterInterface |
|
| 361 | if (!$parameter instanceof ParameterInterface && !$parameter instanceof ExpressionInterface) { |
|
| 362 | $parameter = new Parameter($parameter, Parameter::DETECT_TYPE); |
|
| 363 | }; |
|
| 364 | ||
| 365 | //Let's store to sent to driver when needed |
|
| 366 | $this->whereParameters[] = $parameter; |
|
| 367 | ||
| 368 | return $parameter; |
|
| 369 | }; |
|
| 370 | } |
|
| 371 | } |
|
| @@ 336-362 (lines=27) @@ | ||
| 333 | * |
|
| 334 | * @return \Closure |
|
| 335 | */ |
|
| 336 | private function whereWrapper() |
|
| 337 | { |
|
| 338 | return function ($parameter) { |
|
| 339 | if ($parameter instanceof FragmentInterface) { |
|
| 340 | //We are only not creating bindings for plan fragments |
|
| 341 | if (!$parameter instanceof ParameterInterface && !$parameter instanceof QueryBuilder) { |
|
| 342 | return $parameter; |
|
| 343 | } |
|
| 344 | ||
| 345 | return $parameter; |
|
| 346 | } |
|
| 347 | ||
| 348 | if (is_array($parameter)) { |
|
| 349 | throw new BuilderException("Arrays must be wrapped with Parameter instance."); |
|
| 350 | } |
|
| 351 | ||
| 352 | //Wrapping all values with ParameterInterface |
|
| 353 | if (!$parameter instanceof ParameterInterface && !$parameter instanceof ExpressionInterface) { |
|
| 354 | $parameter = new Parameter($parameter, Parameter::DETECT_TYPE); |
|
| 355 | }; |
|
| 356 | ||
| 357 | //Let's store to sent to driver when needed |
|
| 358 | $this->onParameters[] = $parameter; |
|
| 359 | ||
| 360 | return $parameter; |
|
| 361 | }; |
|
| 362 | } |
|
| 363 | } |
|