2010-04-25 16 views
17

¿Cómo se escribe la siguiente consulta de MySQL utilizando la Doctrina findBy *() método ?:LIKE y comodín% en la Doctrina findBy *()

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

Por ejemplo, se ha podido recuperar varias filas de una columna denominada "ColumnName "(abajo) utilizando Doctrina:

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

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

me trataron:

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

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

y no tengo errores, pero nada muestra.

Cualquier ayuda será muy apreciada. Gracias por adelantado.

Respuesta

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

+1. Niza, gracias Coronatus – Anthony

+0

@Coronatus, si tengo una variable llamada $ valor_búsqueda que contiene el valor de algo a buscar, ¿Cómo se sustituye% valor_búsqueda% con% $% valor_búsqueda en mi consulta? – Anthony

+0

ok gracias por la punta! – Anthony