Наследование: implements Blast\Orm\Entity\ProviderInterface, use trait Blast\Orm\CacheAwareTrait, use trait EntityAwareTrait
Пример #1
0
 /**
  * Add relations to data
  *
  * @param $data
  * @param $entity
  * @return mixed
  */
 protected function addRelationsToData($data, $entity)
 {
     foreach ($this->provider->getDefinition()->getRelations() as $name => $relation) {
         if (is_numeric($name)) {
             $name = $relation->getName();
         }
         // disallow overwriting existing data
         if (isset($data[$name])) {
             continue;
         }
         // only attached entity is allowed!
         $entityClass = get_class($entity);
         if ($relation->getEntity() instanceof $entityClass) {
             $relation->setEntity($entity);
         }
         $data[$name] = $relation;
         $data[Inflector::camelize($name)] = $relation;
         $data[Inflector::tableize($name)] = $relation;
     }
     return $data;
 }