/** * inherits * * Add inherited structure. * * @access public * @param RowStructure $structure * @return RowStructure $this */ public function inherits(RowStructure $structure) { foreach ($structure->getDefinition() as $field => $type) { $this->addField($field, $type); } return $this; }
/** * createDefaultProjection * * This method creates a projection based on the structure definition of * the underlying relation. It may be used to shunt parent createProjection * call in inherited classes. * This method can be used where a projection that sticks to table * definition is needed like recursive CTEs. For normal projections, use * createProjection instead. * * @access public * @return Projection */ public final function createDefaultProjection() { return new Projection($this->flexible_entity_class, $this->structure->getDefinition()); }