Files
michaelschiemer/src/Framework/Database/Criteria/Expression/InExpression.php
Michael Schiemer 55a330b223 Enable Discovery debug logging for production troubleshooting
- Add DISCOVERY_LOG_LEVEL=debug
- Add DISCOVERY_SHOW_PROGRESS=true
- Temporary changes for debugging InitializerProcessor fixes on production
2025-08-11 20:13:26 +02:00

36 lines
723 B
PHP

<?php
declare(strict_types=1);
namespace App\Framework\Database\Criteria\Expression;
use App\Framework\Database\Criteria\Criterion;
/**
* IN expression for matching against multiple values
*/
final readonly class InExpression implements Criterion
{
public function __construct(
public string $property,
public array $values
) {
}
public function toSql(): string
{
if (empty($this->values)) {
return '1=0'; // Always false
}
$placeholders = str_repeat('?,', count($this->values) - 1) . '?';
return "{$this->property} IN ({$placeholders})";
}
public function getParameters(): array
{
return $this->values;
}
}