Строка ModX xPDO, приведенная к целому в предложении where - PullRequest
0 голосов
/ 19 апреля 2019

Строка xPDO приведена к целому числу в предложении where

Модель:

<object class="glCity" table="gl_cities" extends="xPDOSimpleObject">
....    
<field key="name_ru" dbtype="varchar" precision="128" phptype="varchar" null="false" default=""/>
    <field key="name_en" dbtype="varchar" precision="128" phptype="varchar" null="false" default=""/>
....
</object>

Метод:

<code>public function prepareQueryBeforeCount(xPDOQuery $c)
{
    ......
    if ($query) {
        $c->where(array(
            "{$this->objectType}.name_ru:LIKE"    => "%{$query}%",
            "OR:{$this->objectType}.name_en:LIKE" => "%{$query}%",
        ));
    }
    $c->where(array(
            "{$this->objectType}.name_ru:LIKE"    => "11",
            "OR:{$this->objectType}.name_en:LIKE" => (string)"bbbb",
        ));
    $c->prepare();
    echo '<pre>';print_r($c->toSQL());echo '
'; выход; вернуть $ c; }

Это возвращение

 SELECT * FROM `modx_gl_cities` AS `glCity` LEFT JOIN `modx_gl_data` `glData` ON glData.identifier = glCity.id WHERE  ( `glCity`.`active` = 1 AND `glCity`.`default` = 0 AND  ( `glCity`.`name_ru` LIKE 0 OR `glCity`.`name_en` LIKE 0 )  AND  ( `glCity`.`name_ru` LIKE 11 OR `glCity`.`name_en` LIKE 0 )  ) 

Я не знаю, что делать, чтобы вместо цифры была строка.

...