繁体   English   中英

Zend Properl过滤器通过整理

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM