douqiao5440 2019-04-19 01:59
浏览 9

ModX xPDO字符串在where子句中引入整数

xPDO string adducted to integer in where clause

Model:

<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>

Method:

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 '</pre>';exit;
    return $c;
}

It's return

 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 )  ) 

I do not know what to do so that instead of a digit there would be a string.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 关于#Java#的问题,如何解决?
    • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
    • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
    • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
    • ¥15 cmd cl 0x000007b
    • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
    • ¥500 火焰左右视图、视差(基于双目相机)
    • ¥100 set_link_state
    • ¥15 虚幻5 UE美术毛发渲染
    • ¥15 CVRP 图论 物流运输优化