2010-04-25 8 views
17

Jak można zapisać następujące zapytanie MySQL pomocą doktryny findBy *) Sposób (?:JAK i% zastępczych doktryny findBy *()

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

Na przykład, w celu pobrania kilka rzędów z kolumny o nazwie „NazwaKolumny "(poniżej) stosując doktrynę:

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

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

próbowałem:

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

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

i mam żadnych błędów, ale nic wyświetlane.

Każda pomoc zostanie doceniona. Z góry dziękuję.

Odpowiedz

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

+1. Miło, dziękuje Coronatus – Anthony

+0

@Coronatus, jeśli mam zmienną o nazwie $ search_key, która zawiera wartość czegoś do wyszukania, w jaki sposób mogę zamienić% search_key% na% $ search_key% w moim zapytaniu? – Anthony

+0

ok dzięki za wskazówkę! – Anthony

Powiązane problemy