我正在将 Postgres 与 Kohana 3 的 ORM 模块一起使用,并希望使用 postgres 函数运行 SELECT,以便在进行比较之前将数据库中已有的值转换为小写。
在 SQL 中,我会写:
select * from accounts where lower(email) = 'alice@spam.com';
在 Kohana 我想写这样的东西:
$user = ORM::factory('user')
->where('lower(email)', '=', strtolower('alice@spam.com'))
->find();
但这会产生错误,因为 ORM 试图将列名推断为“lower(email)”而不仅仅是“email”。
我是 Kohana 和 ORM 的新手,所以能给我相同结果的替代方案也会很有用。