Я новичок в Propel и у меня есть один вопрос. Как я могу положить в фильтр сортировки?
Мне нужно что-то вроде этого:
SELECT id, name, email FROM users WHERE email COLLATE utf8_bin = "[email protected]"
Мне нужен поиск с учетом регистра, но я пока не могу изменить схему таблицы.
Я пытаюсь:
$model = Model_Propel_Users::create()->filterByName('COLLATE utf8_bin ' . $name)
Но это не работает.
У кого-нибудь есть идеи?
Спасибо!
Я нашел решение, возможно, оно будет кому-то полезно.
Сначала я добавил новый метод в модель:
public function findUser($email)
{
$criteria = new Criteria();
$conn = Propel::getConnection();
$cq = Model_Propel_Users::EMAIL . ' COLLATE utf8_bin LIKE ' . $conn->quote($email);
$criteria->add(null, $cq, Criteria::CUSTOM);
$user = Model_Propel_Users::doSelectOne($criteria);
return $user;
}
Затем просто позвоните, чтобы получить результат:
$user = Model_Propel_Users::create()->findUser($email);
Других решений пока нет …