| @@ 63-79 (lines=17) @@ | ||
| 60 | * |
|
| 61 | * @param Select $event |
|
| 62 | */ |
|
| 63 | public function beforeSelect(Select $event) |
|
| 64 | { |
|
| 65 | if ($this->isLazyLoaded()) { |
|
| 66 | return; |
|
| 67 | } |
|
| 68 | ||
| 69 | $fields = $this->getFieldsPrefixed(); |
|
| 70 | $table = $this->entityDescriptor->getTableName(); |
|
| 71 | $relateTable = $this->getParentTableName(); |
|
| 72 | $pmk = $this->getParentPrimaryKey(); |
|
| 73 | ||
| 74 | $onClause = "{$table}.{$this->getForeignKey()} = ". |
|
| 75 | "{$relateTable}.{$pmk}"; |
|
| 76 | ||
| 77 | $query = $event->getQuery(); |
|
| 78 | $query->join($relateTable, $onClause, $fields, $relateTable); |
|
| 79 | } |
|
| 80 | ||
| 81 | /** |
|
| 82 | * Handles the after select callback |
|
| @@ 34-50 (lines=17) @@ | ||
| 31 | * |
|
| 32 | * @param Select $event |
|
| 33 | */ |
|
| 34 | public function beforeSelect(Select $event) |
|
| 35 | { |
|
| 36 | if ($this->isLazyLoaded()) { |
|
| 37 | return; |
|
| 38 | } |
|
| 39 | ||
| 40 | $fields = $this->getFieldsPrefixed(); |
|
| 41 | $table = $this->entityDescriptor->getTableName(); |
|
| 42 | $relateTable = $this->getParentTableName(); |
|
| 43 | $pmk = $this->entityDescriptor->getPrimaryKey()->getField(); |
|
| 44 | ||
| 45 | $onClause = "{$table}.{$pmk} = ". |
|
| 46 | "{$relateTable}.{$this->getForeignKey()}"; |
|
| 47 | ||
| 48 | $query = $event->getQuery(); |
|
| 49 | $query->join($relateTable, $onClause, $fields, $relateTable); |
|
| 50 | } |
|
| 51 | ||
| 52 | /** |
|
| 53 | * Gets the foreign key field name |
|