当字段值包含/或\时,Propel ORM无法过滤

时间:2011-03-10 06:28:24

标签: php database orm doctrine propel

我正在尝试根据field1field2的值找到记录。这是我的查询

$rec = RecQuery::create()->filterByField1($field1)
                         ->filterByField2($field2)
                         ->findOne();

$ field2有时可能会有奇怪的字符。出于某种原因,只要$ field2包含\/,propel就无法检索记录并返回空结果。

如果我这样做(仅根据field1获取所有记录,然后循环以匹配field2),那么它可以正常工作并且能够检索它

$recs = RecQuery::create()->filterByField1($field1)->find();
foreach ($recs as $rec){
   if($rec->getField2() == $field2)
         //found the record
   }
}

有谁知道问题是什么?

1 个答案:

答案 0 :(得分:0)

即使字符串中有斜杠字符,Propel仍然可以转义。

你能抓住它正在运行的SQL(当你得到空的结果集时),看看那里的问题是什么?如果没有为您提供任何信息,请将其添加到您的问题中。