public function findCollectionById($id)
{
$dql = sprintf('SELECT n, collectionMeta, defaultMeta, collectionType, collectionParent, parentMeta, collectionChildren
FROM %s AS n
LEFT JOIN n.meta AS collectionMeta
LEFT JOIN n.defaultMeta AS defaultMeta
LEFT JOIN n.type AS collectionType
LEFT JOIN n.parent AS collectionParent
LEFT JOIN n.children AS collectionChildren
LEFT JOIN collectionParent.meta AS parentMeta
WHERE n.id = :id', $this->_entityName);
$query = new Query($this->_em);
$query->setDQL($dql);
$query->setParameter('id', $id);
$result = $query->getResult();
if (count($result) === 0) {
return;
}
return $result[0];
}