2010-04-25 38 views
17

我怎樣寫使用Doctrine的findBy *以下MySQL查詢()方法?:LIKE和%通配符主義的findBy *()

SELECT column_name1, column_name2 FROM table_name 
WHERE column_name3 LIKE '%search_key%'; 

例如,獲取來自一個名爲「的ColumnName列多行「(下)使用Doctrine:

$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; 

和我沒有錯誤,但沒有任何顯示。

任何援助將非常感激。提前致謝。

回答

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

+1。很好,謝謝Coronatus – Anthony 2010-04-25 22:32:48

+0

@Coronatus,如果我有一個名爲$ search_key的變量,其中包含要搜索的內容的值,那麼在查詢中如何將%search_key%替換爲%$ search_key%? – Anthony 2010-04-25 23:37:39

+0

好的謝謝你的提示! – Anthony 2010-04-26 00:21:51