Propel ORM не может filterBy, когда значение поля содержит / или \ - PullRequest
1 голос
/ 10 марта 2011

Я пытаюсь найти запись на основе значений field1 и field2. Это мой запрос

$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 голосов
/ 29 сентября 2011

Propel по-прежнему должен экранировать OK, даже если в строке есть символы косой черты.

Можете ли вы взять запущенный SQL (когда вы получите пустой набор результатов) и посмотреть, в чем проблема? Добавьте это к своему вопросу, если это не проливает свет на вас.

...