Files
lucent-laravel/src/Query/BuilderConverter/NotExists.php
T
2024-08-24 17:22:40 +03:00

25 lines
647 B
PHP

<?php
namespace Lucent\Query\BuilderConverter;
use Illuminate\Database\Query\Builder;
use Lucent\Query\Filter\Argument;
readonly class NotExists implements IBuilderConverter
{
public function __construct(private Argument $argument)
{
}
public function toAndQueryBuilder(Builder $builder): Builder
{
return $builder->where(fn($b) => $b->where($this->argument->field, "")->orWhereNull($this->argument->field));
}
public function toOrQueryBuilder(Builder $builder): Builder
{
return $builder->orWhere(fn($b) => $b->where($this->argument->field, "")->orWhereNull($this->argument->field));
}
}