[英]Zend Properl filterBy with collate
我是propel的新手,我有一个问题。 我怎样才能放入filterBy排序规则? 我需要这样的东西:
SELECT id, name, email FROM users WHERE email COLLATE utf8_bin = "teSt@domain.com"
我需要区分大小写的搜索,但目前无法更改表架构。 我正在努力:
$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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.