Quiero utilizar el marcador de posición del parámetro, p. Ej. ? 1 - con el% de comodines. es decir, algo así como: "u.name LIKE%? 1%" (aunque esto arroja un error). Los documentos tienen los siguientes dos ejemplos: 1.doctrine2 dql, use setParameter con% comodín al hacer una comparación similar
// Example - $qb->expr()->like('u.firstname', $qb->expr()->literal('Gui%'))
public function like($x, $y); // Returns Expr\Comparison instance
no me gusta esto como no hay protección contra la inyección de código.
2.
// $qb instanceof QueryBuilder
// example8: QueryBuilder port of: "SELECT u FROM User u WHERE u.id = ?1 OR u.nickname LIKE ?2 ORDER BY u.surname DESC" using QueryBuilder helper methods
$qb->select(array('u')) // string 'u' is converted to array internally
->from('User', 'u')
->where($qb->expr()->orx(
$qb->expr()->eq('u.id', '?1'),
$qb->expr()->like('u.nickname', '?2')
))
->orderBy('u.surname', 'ASC'));
no me gusta esto porque tengo que buscar términos dentro de las propiedades del objeto - es decir, que necesito los comodines de cualquier lado.
respuesta perfecta, justo lo que estaba buscando, gracias – waigani
¿te importaría votar o aceptarlo como respondido? –
¿Qué pasa si '$ value = '\\''? – seyed