2010-04-25 16 views
17

Come faccio a scrivere il metodo() ?:LIKE e% jolly in di Doctrine findBy *()

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

Per esempio, per andare a prendere più righe da una colonna denominata "ColumnName la seguente query MySQL usando di Doctrine findBy * "(sotto) utilizzando Doctrine:

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

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

ho provato:

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

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

e ho avuto nessun errore, ma non compare alcuna indicazione.

Qualsiasi aiuto sarà molto apprezzato. Grazie in anticipo.

risposta

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

+1. Bello, grazie Coronatus – Anthony

+0

@Coronatus, se ho una variabile denominata $ search_key che contiene il valore di qualcosa da cercare, come posso sostituire% search_key% con% $ search_key% nella mia query? – Anthony

+0

ok grazie per il suggerimento! – Anthony

Problemi correlati