Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/11/2014, 12:16
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Hacer INNER JOIN no normal en propel

Cita:
Iniciado por sonickseven Ver Mensaje
yo lo solucfione con una consulta casi que directa, ya que esa documentacion de propel es para robots!!!, Al igual por mas perfecto que sea Propel nunca se va a acomodar a un sintax sql.

Gracias de todas maneras
LOs ORM no son la panacea tienen limites como cualquier software así que el problema no es el ORM si no quien lo usa.
Para que alguien te ayudara de forma mas completa se requiere conocer tu modelo, lo que te comente era la solución basado en lo que publicaste, pero si hubieras publicado tus clases hubiera sido mas sencillo decirte algo mas acertado. La próxima vez toma en cuenta eso.

La solución como consulta directa estaba a la mano en la documentación: http://propelorm.org/documentation/03-basic-crud.html con un ejemplo:
Código PHP:
Ver original
  1. use Propel\Runtime\Propel;
  2. $con = Propel::getWriteConnection(\Map\BookTableMap::DATABASE_NAME);
  3. $sql = "SELECT * FROM book WHERE id NOT IN "
  4.         ."(SELECT book_review.book_id FROM book_review"
  5.         ." INNER JOIN author ON (book_review.author_id=author.ID)"
  6.         ." WHERE author.last_name = :name)";
  7. $stmt = $con->prepare($sql);
  8. $stmt->execute(array(':name' => 'Austen'));

Ahora tu consulta "compleja" también puede ser resuelta desde el query builder de propel sin ningún problema: http://propelorm.org/documentation/r...-criteria.html, pero el detalle es que tienes que acostumbrarte no solo a leer documentación, también tienes que conocer que hay detrás de estas cosas para que comprendas como puedes usarlas. Así que quítate esa Apatía, cambia tu paradigma y toma como área de oportunidad tus deficiencias. Sobre todo si vas a trabajar con este tipo de herramientas
Cita:
Iniciado por NSD Ver Mensaje
Aca hay un ejemplo de como hacer joins en Propel.

Por cierto, dbal o querys builders los hay mucho mejores que Propel.
Propel cuenta con un Query Builder muy potente, que opciones recomiendas NSD ?
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.