Esempio n. 1
0
 /**
  * Creates ARForeignKeyField instance
  *
  * @param string $fieldName
  * @param string $foreignTableName
  * @param string $foreignClassName
  * @param int $dataType
  * @param int $typeLength
  */
 public function __construct($fieldName, $foreignTableName, $foreignFieldName, $foreignClassName = null, ARSchemaDataType $dataType)
 {
     parent::__construct($fieldName, $dataType);
     $this->foreignClassName = !empty($foreignClassName) ? $foreignClassName : $foreignTableName;
     $this->foreignTableName = $foreignTableName;
     $this->foreignFieldName = $foreignFieldName;
     $this->referenceFieldName = $this->referenceName = ucfirst(substr($this->name, 0, -2));
     if (!$this->referenceName) {
         $this->referenceName = $this->foreignClassName;
     }
     if (!$this->referenceFieldName) {
         $this->referenceFieldName = $this->name;
     }
     if ($this->foreignClassName != $this->referenceName) {
         $this->referenceName = $this->foreignClassName . '_' . $this->referenceName;
     }
 }