Skip to content

Search error with column type text. #85

@wash34000

Description

@wash34000

Hello,

I've a problem with one table column that is a text type in my model.
When i try to search i've an error on line 311 in DataTablesComponent.php, PHP cannot set type "text" :

settype(): Invalid type [ROOT/vendor/ypnos-web/cakephp-datatables/src/Controller/Component/DataTablesComponent.php, line 311]

        $columnDesc = $table->getSchema()->getColumn($column);
        $columnType = $columnDesc['type'];
        // wrap value for LIKE and NOT LIKE
        if (strpos(strtolower($comparison), 'like') !== false) {
            $value = $this->getConfig('prefixSearch') ? "{$value}%" : "%{$value}%";

            if ($this->_table->getConnection()->getDriver() instanceof Postgres) {
                if ($columnType !== 'string' && $columnType !== 'text') {
                    $textCast = "::text";
                }
            }
        }
        settype($value, $columnType);
        $condition = ["{$table->getAlias()}.{$column}{$textCast} {$comparison}" => $value];

Can i force my text field to string without modify your controller file ?

Kind regards

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions