25 lines
608 B
PHP
25 lines
608 B
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace Lucent\Query\BuilderConverter;
|
||
|
|
|
||
|
|
use Illuminate\Database\Query\Builder;
|
||
|
|
use Lucent\Query\Filter\Argument;
|
||
|
|
|
||
|
|
readonly class Exists implements IBuilderConverter
|
||
|
|
{
|
||
|
|
|
||
|
|
public function __construct(private Argument $argument)
|
||
|
|
{
|
||
|
|
}
|
||
|
|
|
||
|
|
public function toAndQueryBuilder(Builder $builder): Builder
|
||
|
|
{
|
||
|
|
return $builder->whereNot($this->argument->field, "")->whereNotNull($this->argument->field);
|
||
|
|
}
|
||
|
|
|
||
|
|
public function toOrQueryBuilder(Builder $builder): Builder
|
||
|
|
{
|
||
|
|
return $builder->whereNot($this->argument->field, "")->whereNotNull($this->argument->field);
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|