2010-04-25 17 views
17

I() yöntemi ?: Örnek içindoktrini en findBy *() içinde GİBİ ve% Joker

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

, SütunAdı" adlı bir sütundan birden çok satır getirmesi öğretinin findBy * kullanarak aşağıdaki MySQL sorgu yazmak nasıl "(aşağıda) Doctrine kullanılarak:

$users = Doctrine::getTable('User')->findByColumnName('active'); 

echo $users[0]->username; 
echo $users[1]->username; 

denedim:

$search_key = 'some value'; 
$users = Doctrine::getTable('User')->findByColumnName('%$search_key%'); 

    echo $users[0]->username; 
    echo $users[1]->username; 

ve ben hiç hata var, ama hiçbir şey görüntülenir.

Her türlü yardım gerçekten takdir edilecektir. Şimdiden teşekkürler.

cevap

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

+1. Nice, teşekkürler Coronatus – Anthony

+0

@Coronatus, eğer aramak için bir şeyin değerini içeren $ search_key adında bir değişkenim varsa,% search_key% 'ı% $ search_key%' ı sorguğımla nasıl değiştirebilirim? – Anthony

+0

tamam bahşiş için teşekkürler! – Anthony