->selectAs() | ->set*() and ->get*() |
DB_DataObject | |
PEAR Manual | |
void $DB_DataObject->joinAdd (
object $dataobject
,
string $joinType
,
string $joinAs
,
string $joinCol
)
Builds a Join Query, by adding another dataobject to this one. Be careful when using this, raw queries may be clearer than using joinAdd.
Thanks to Stijn de Reede for the implementation of this.
object $obj - joining object (no value resets the join)
string $joinType - "LEFT" | "INNER " | "RIGHT" | ""
INNER is default, "" indicates just select ... from a,b,c with no join and links are added as where items.
Note: 'LEFT' is the same as LEFT OUTER.
string $joinAs - if you want to select the table as anther name useful when you want to select multiple columns from a secondary table.
string $joinCol - The column on This objects table to match,needed if this table links to the child object in multiple places eg.
using specific join Columns
user->friend (is a id of a person) user->mother (is a id of another person) |
This function can not be called statically.
The Examples below are not tested, use DB_DataObject::debugLevel(1), to see what exactly is going on when you use this, and send the author some better examples..
Simple simple Join
|
Resulting SQL
SELECT * FROM image LEFT JOIN product_image ON (image.id = product_image.image_id) WHERE product_image.id = 24 |
More Complex Join query
|
Resulting SQL
SELECT * FROM image LEFT JOIN product_image ON (image.id = product_image.image_id) LEFT JOIN productgroup ON (image.id = productgroup_image.image_id); |
->selectAs() | ->set*() and ->get*() |
DB_DataObject | |
PEAR Manual | |