Esempio n. 1
0
 /**
  * Record constructor.
  *
  * @param DatabaseInterface|null $database
  */
 public function __construct(DatabaseInterface $database = null, TableMetadata $metadata = null)
 {
     // Get database layer
     $this->database = $database;
     // TODO: !IMPORTANT THIS NEEDS TO BE REMOVED!
     // FIXME: Dependency resolving
     if (array_key_exists('__core', $GLOBALS)) {
         $this->database = $GLOBALS['__core']->getContainer()->get('database');
     }
     // Get current class name if none is passed
     $this->className = get_class($this);
     // Get table metadata
     // FIXME: Dependency resolving
     $this->metadata = $metadata ?? TableMetadata::fromClassName($this->className);
 }
Esempio n. 2
0
 /**
  * {@inheritdoc}
  */
 public function entity($metadata) : QueryInterface
 {
     if (is_string($metadata)) {
         // Remove old namespace
         $metadata = strpos($metadata, '\\samson\\activerecord\\') !== false ? str_replace('\\samson\\activerecord\\', '', $metadata) : $metadata;
         $metadata = strpos($metadata, 'samson\\activerecord\\') !== false ? str_replace('samson\\activerecord\\', '', $metadata) : $metadata;
         // Capitalize and add cms namespace
         $metadata = strpos($metadata, '\\') === false ? 'samsoncms\\api\\generated\\' . ucfirst($metadata) : $metadata;
         $this->metadata = TableMetadata::fromClassName($metadata);
     } else {
         $this->metadata = $metadata;
     }
     $this->flush();
     return $this;
 }