Propel ORM - Joining unrelated tables Propel ORM - Joining unrelated tables sql sql

Propel ORM - Joining unrelated tables


You could also use "addJoin" like this:

TableAQuery::create()->addJoin(TableAPeer::ThisCOLUMN, TableBPeer::ThatCOLUMN, Criteria::INNER_JOIN); //Can also be left/right

The third argument also takes left and right join.

And, instead of the usual "filterByXXX()"

->filterByOtherColumn(value)

you'd use "add()", like this:

->add(TableAPeer::OtherCOLUMN, value)


You can work around this limitation by using raw SQL syntax. For instance:

$con = Propel::getConnection(SomePeer::DATABASE_NAME);$query = 'SELECT * FROM `table_a` JOIN `table_b` LIMIT 10';$stmt = $con->prepare($query);if($stmt->execute()) {    $res = $stmt->fetchAll();    var_dump($res);}

Note #1: These kind of joins can become very big and quickly exhaust the allowed memory size. That's why I've added a LIMIT.

Note #2: The output isn't very clean, arrays of both numeric and associative keys. Maybe there are ways to improve this.