web-dev-qa-db-ja.com

DoctrineのfindBy *()のLIKEおよび%ワイルドカード

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;

エラーは発生しませんでしたが、何も表示されませんでした。

どんな援助も本当にありがたいです。前もって感謝します。

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