2009-12-31 23 views

Respuesta

4

No se puede crear una consulta de unión utilizando criterios. En cambio, puedes create the SQL string yourself, y usarlo para hidratar los objetos. Si aún desea usar Criteria para compilar ambas partes de la consulta de unión, puede llamar al BasePeer::createSelectSql(Criteria $criteria, array &$params). Esto devolverá una cadena SQL con ? en los lugares de los valores que la capa PDO debe establecer. El segundo parámetro es una matriz que se rellenará con estos parámetros (por lo que la pasa por referencia). Puede pasar esto a la función PDOStatement::execute(array $params).

+0

se puede actualizar el vínculo? No funciona –

+0

@NeelBasu: El enlace me envió al nuevo adddress, lo actualicé. –

+0

El vínculo se rompe de nuevo (ya que el wiki está roto), pero el texto [todavía se pueden encontrar aquí] (http://trac.propelorm.org/browser/branches/1.4/docs/guide/03-Basic-CRUD. TXT). [La versión para la versión actual (1.6) se puede encontrar aquí] (http://trac.propelorm.org/browser/branches/1.6/docs/guide/03-Basic-CRUD.txt). – Ladadadada

1

dos soluciones vienen a la mente. En primer lugar, el enfoque trivial es ejecutar dos llamadas separadas y luego usar array_merge para unirlas. Dependiendo de su caso de uso, esto puede no ser tan costoso de tiempo como cree.

Además, si usted está atascado escribir la consulta, escriba una vista con la consulta que desea, y luego poner esto en su modelo de Propel. Tenía un montón de pantallas de detalles maestros muy complicadas en Propel/Symfony 1.x, y este enfoque funcionó. Va ligeramente contra la filosofía de usar un ORM, pero ¡oye, es divertido romper las reglas de vez en cuando! :)