|
@@ 337-351 (lines=15) @@
|
| 334 |
|
* @param EntityMetadata $metadata |
| 335 |
|
* @return array|null |
| 336 |
|
*/ |
| 337 |
|
private function formatQueryElementId($key, $value, EntityMetadata $metadata) |
| 338 |
|
{ |
| 339 |
|
if (false === $this->isIdentifierField($key)) { |
| 340 |
|
return; |
| 341 |
|
} |
| 342 |
|
|
| 343 |
|
$dbIdKey = Persister::IDENTIFIER_KEY; |
| 344 |
|
$converter = $this->getQueryIdConverter($metadata); |
| 345 |
|
|
| 346 |
|
if (is_array($value)) { |
| 347 |
|
$value = (true === $this->hasOperators($value)) ? $value : ['$in' => $value]; |
| 348 |
|
return [$dbIdKey, $this->formatQueryExpression($value, $converter)]; |
| 349 |
|
} |
| 350 |
|
return [$dbIdKey, $converter($value)]; |
| 351 |
|
} |
| 352 |
|
|
| 353 |
|
/** |
| 354 |
|
* Formats a relationship query element. |
|
@@ 390-404 (lines=15) @@
|
| 387 |
|
* @param mixed $value |
| 388 |
|
* @return array|null |
| 389 |
|
*/ |
| 390 |
|
private function formatQueryElementType($key, $value) |
| 391 |
|
{ |
| 392 |
|
if (false === $this->isTypeField($key)) { |
| 393 |
|
return; |
| 394 |
|
} |
| 395 |
|
|
| 396 |
|
$dbTypeKey = Persister::POLYMORPHIC_KEY; |
| 397 |
|
$converter = $this->getQueryTypeConverter(); |
| 398 |
|
|
| 399 |
|
if (is_array($value)) { |
| 400 |
|
$value = (true === $this->hasOperators($value)) ? $value : ['$in' => $value]; |
| 401 |
|
return [$dbTypeKey, $this->formatQueryExpression($value, $converter)]; |
| 402 |
|
} |
| 403 |
|
return [$dbTypeKey, $converter($value)]; |
| 404 |
|
} |
| 405 |
|
|
| 406 |
|
/** |
| 407 |
|
* Formats a query expression. |