/** * @ignore * * @param array $opts * * @return OneToOneField */ public static function OneToOneField($opts = []) { return OneToOneField::createObject($opts); }
public function prepareMultiInheritance($parentModelName) { if (!self::isModelBase($parentModelName) && !StringHelper::isEmpty($parentModelName)) { $name = ClassHelper::getNameFromNs($parentModelName, BaseOrm::getModelsNamespace()); $attrName = lcfirst(str_replace(' ', '', ucwords(str_replace('\\', ' ', $name)))); $attrName = sprintf('%sPtr', $attrName); if ($this->_fieldCache == null || !ArrayHelper::hasKey($this->_fieldCache, $attrName)) { $field = OneToOneField::createObject(['to' => ClassHelper::getNameFromNs($parentModelName, BaseOrm::getModelsNamespace()), 'onDelete' => Delete::CASCADE, 'name' => $attrName, 'autoCreated' => true, 'parentLink' => true]); $this->addToClass($attrName, $field); $this->meta->parents[$name] = $field; } } }