Mostrando entradas con la etiqueta Doctrine. Mostrar todas las entradas
Mostrando entradas con la etiqueta Doctrine. Mostrar todas las entradas

Doctrine: Generar filtros IN

sábado, 22 de diciembre de 2012 Etiquetas: , ,

Introducción


En esta entrada va a ser breve, simplemente vamos a ver como añadir un filtro con el operador IN con el motor de base de datos Doctrine. No es complicado, siempre que sepas como realizarlo.

Vamos a ver primero un ejemplo en SQL para ver como funciona la condición IN, el siguiente ejemplo obtiene los usuarios que tienen configurado como lenguaje español o inglés.

SELECT u.id,u.name
FROM USERS u
WHERE u.language IN ('es','en')

Symfony2: Crear funciones DQL propias para Doctrine

miércoles, 28 de noviembre de 2012 Etiquetas: , ,


Introducción

Cuando trabajamos con Doctrine, llega un momento que usando el lenguaje de consultas DQL, nos surge la necesidad de usar alguna función que no esta implementada, y que estamos acostumbrados a utilizar. Un caso común puede ser las funciones YEAR, MONTH o DAY de MySQL, para poder trabajar de forma sencilla con las fechas.

Si probamos a utilizar algunas de estas funciones en una sentencia DQL, comprobaremos que nos produce un error: la función no existe. Vamos a ver en este post como podemos crear nuestras propias funciones y configurar Symfony2 para poderlas utilizar en nuestras sentencias DQL. Si se sabe como, es sencillo y nos puede facilitar el trabajo.

Ejecutar sentencias SQL con DOCTRINE

miércoles, 24 de octubre de 2012 Etiquetas: , ,

Introducción

Las aplicaciones en Symfony 2 no acceden directamente a la base de datos, sino que utilizan objetos PHP para acceder a los datos, sin ejecutar directamente las sentencias SQL. Para realizar este trabajo utiliza la librería Doctrine por defecto, aunque también se pueden utilizar otras como Propel.

La forma más habitual es realizar la obtención de datos mediante DQL, con la cual obtendremos los datos como objetos PHP listos para su utilización. En el libro The Book for Symfony 2.0 [1] se puede ver una introducción a esta forma de obtener los datos, supongo que se tiene conocimiento en el uso de DQL. En ocasiones nos puede interesar añadir en el repositorio de una entidad una consulta que no nos devuelva un objeto sino datos directamente.