コード例 #1
0
ファイル: RecordManager.php プロジェクト: sigma-z/dive
 /**
  * gets relation instance
  *
  * @param   string $name
  * @param   array  $relationData
  * @return  \Dive\Relation\Relation
  */
 private function getRelationInstance($name, array $relationData)
 {
     if (!isset($this->relations[$name])) {
         $owningTable = $relationData['owningTable'];
         $owningAlias = $relationData['owningAlias'];
         $owningField = $relationData['owningField'];
         $referencedTable = $relationData['refTable'];
         $referencedAlias = $relationData['refAlias'];
         $referencedField = $relationData['refField'];
         $type = $relationData['type'];
         $onDelete = !empty($relationData['onDelete']) ? $relationData['onDelete'] : PlatformInterface::RESTRICT;
         $onUpdate = !empty($relationData['onUpdate']) ? $relationData['onUpdate'] : PlatformInterface::RESTRICT;
         $relation = new Relation($owningAlias, $owningTable, $owningField, $referencedAlias, $referencedTable, $referencedField, $type, $onDelete, $onUpdate);
         if (isset($relationData['orderBy'])) {
             $relation->setOrderBy($relationData['orderBy']);
         }
         $this->relations[$name] = $relation;
     }
     return $this->relations[$name];
 }