在Doctrine的findBy *()中使用LIKE和%Wildcard

时间:2010-04-25 22:13:00

标签: mysql codeigniter doctrine

如何使用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 个答案:

答案 0 :(得分:21)

$users = Doctrine::getTable('User')->createQuery('u')
  ->where('column_name3 LIKE ?', '%search_key%')
  ->execute();