Beispiel #1
0
 /**
  * @param RecordSchema $record
  * @return string
  */
 protected function renderNestedMany(RecordSchema $record)
 {
     $relationElement = new ClassElement($elementName = $this->createName($record->getName(), 'nested', 'relation'));
     //Clone schema from appropriate relation
     $relationElement->cloneSchema($relationClass = ManyToMany::class);
     $this->cleanElement($relationElement);
     $relationElement->setParent('\\' . $relationClass)->setInterfaces([]);
     $name = $record->getName();
     $relationElement->replaceComments('Record|Record[]|RecordIterator', $this->helper('iterator', $name) . "|\\{$name}[]");
     $relationElement->replaceComments(Record::class, $name);
     $relationElement->replaceComments("Record", '\\' . $name);
     $relationElement->replaceComments("Selector", $this->helper('selector', $name));
     $relationElement->replaceComments("@return \$this", "@return \$this|{$elementName}|\\{$name}[]");
     return $this->addClass($relationElement);
 }