getEntityManager()); $rsm->addRootEntityFromClassMetadata(\models\main\File::class, 'f'); $native_query = $this->getEntityManager()->createNativeQuery($query, $rsm); $native_query->setParameter("folder_name", $folder_name); return $native_query->getOneOrNullResult(); } /** * @param string $file_name * @return File */ public function getFolderByFileName($file_name) { $query = <<getEntityManager()); $rsm->addRootEntityFromClassMetadata(\models\main\File::class, 'f'); $native_query = $this->getEntityManager()->createNativeQuery($query, $rsm); $native_query->setParameter("file_name", $file_name); return $native_query->getOneOrNullResult(); } /** * @return string */ protected function getBaseEntity() { return File::class; } /** * @param string $folder_name * @param File $parent * @return File */ public function getFolderByNameAndParent($folder_name, File $parent) { $query = <<getEntityManager()); $rsm->addRootEntityFromClassMetadata(\models\main\File::class, 'f'); $native_query = $this->getEntityManager()->createNativeQuery($query, $rsm); $native_query->setParameter("folder_name", $folder_name); $native_query->setParameter("parent_id", $parent->getId()); return $native_query->getOneOrNullResult(); } /** * @param string $name * @return bool */ public function existByName(string $name): bool { return $this->count(['name'=> trim($name)]) > 0; } }