Craft\NeoFieldType::modifyElementsQuery PHP Метод

modifyElementsQuery() публичный Метод

Modifies the element query.
public modifyElementsQuery ( craft\DbCommand $query, mixed $value ) : boolean | null
$query craft\DbCommand
$value mixed
Результат boolean | null
    public function modifyElementsQuery(DbCommand $query, $value)
    {
        if ($value == 'not :empty:') {
            $value = ':notempty:';
        }
        if ($value == ':notempty:' || $value == ':empty:') {
            $alias = 'neoblocks_' . $this->model->handle;
            $operator = $value == ':notempty:' ? '!=' : '=';
            $query->andWhere("(select count({$alias}.id) from {{neoblocks}} {$alias} where {$alias}.ownerId = elements.id and {$alias}.fieldId = :fieldId) {$operator} 0", [':fieldId' => $this->model->id]);
        }
        return $value !== null ? false : null;
    }