Doctrine 的 findBy*() 中的 LIKE 和 % 通配符
Posted
技术标签:
【中文标题】Doctrine 的 findBy*() 中的 LIKE 和 % 通配符【英文标题】:LIKE and % Wildcard in Doctrine's findBy*() 【发布时间】:2011-02-12 04:52:11 【问题描述】:如何使用 Doctrine 的 findBy*() 方法编写以下 mysql 查询?:
SELECT column_name1, column_name2 FROM table_name
WHERE column_name3 LIKE '%search_key%';
例如,使用 Doctrine 从名为“ColumnName”(如下)的列中获取多行:
$users = Doctrine::getTable('User')->findByColumnName('active');
echo $users[0]->username;
echo $users[1]->username;
我试过了:
$search_key = 'some value';
$users = Doctrine::getTable('User')->findByColumnName('%$search_key%');
echo $users[0]->username;
echo $users[1]->username;
我没有收到任何错误,但没有显示任何内容。
任何帮助将不胜感激。提前致谢。
【问题讨论】:
【参考方案1】:$users = Doctrine::getTable('User')->createQuery('u')
->where('column_name3 LIKE ?', '%search_key%')
->execute();
【讨论】:
@Coronatus,如果我有一个名为 $search_key 的变量包含要搜索的值,如何在查询中将 %search_key% 替换为 %$search_key%?以上是关于Doctrine 的 findBy*() 中的 LIKE 和 % 通配符的主要内容,如果未能解决你的问题,请参考以下文章