setMetaModel() public method

Set the MetaModel.
public setMetaModel ( MetaModels\IMetaModel $metaModel ) : Collection
$metaModel MetaModels\IMetaModel The MetaModel instance.
return Collection
Example #1
0
 /**
  * {@inheritdoc}
  *
  * @throws \RuntimeException When the MetaModel could not be retrieved.
  */
 public function createCollection($settingId)
 {
     // TODO: we should provide a collector like for attributes.
     $information = $this->serviceContainer->getDatabase()->prepare('SELECT * FROM tl_metamodel_filter WHERE id=?')->execute($settingId)->row();
     if (!empty($information)) {
         $modelFactory = $this->serviceContainer->getFactory();
         $metaModel = $modelFactory->getMetaModel($modelFactory->translateIdToMetaModelName($information['pid']));
         $collection = new Collection($information);
         if ($metaModel === null) {
             throw new \RuntimeException('Could not retrieve MetaModel ' . $information['pid']);
         }
         $collection->setMetaModel($metaModel);
         $this->collectRules($collection);
         return $collection;
     }
     return new Collection(array());
 }