/** * Adds a join to this table * @param ModelJoin $join * @return null */ public function addJoin(ModelJoin $join) { $this->joins[$join->getTable()->getAlias()] = $join; }
/** * Parses and processes a model join into a database join expression * @param zibo\library\orm\query\ModelJoin $join * @return zibo\library\database\manipulation\expression\JoinExpression */ private function parseJoin(ModelJoin $join) { $condition = $join->getCondition(); $condition = $this->parseCondition($condition); $table = $join->getTable(); $table = $this->addTable($table->getModelName(), $table->getAlias()); return new JoinExpression($join->getType(), $table, $condition); }