UrlRepository.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace Meramo\Begriffmgt\Domain\Repository;
  3. use TYPO3\CMS\Core\Database\ConnectionPool;
  4. use TYPO3\CMS\Core\Utility\GeneralUtility;
  5. use TYPO3\CMS\Extbase\Persistence\QueryInterface;
  6. use TYPO3\CMS\Extbase\Persistence\Repository;
  7. class UrlRepository extends Repository {
  8. /**
  9. * Find one record by 'title'.
  10. *
  11. * @return \TYPO3\CMS\Extbase\Persistence\QueryResultInterface|array
  12. */
  13. public function findByTitle($title)
  14. {
  15. $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_begriffmgt_domain_model_url');
  16. $query = $queryBuilder
  17. ->select('*')
  18. ->from('tx_begriffmgt_domain_model_url')
  19. ->where(
  20. $queryBuilder->expr()->eq('title', $queryBuilder->createNamedParameter($title, \PDO::PARAM_STR))
  21. )
  22. ->setMaxResults(1)
  23. ->execute();
  24. return $result = $query->fetch();
  25. }
  26. /**
  27. * Find all records and order them by 'title' in ascending order.
  28. *
  29. * @return \TYPO3\CMS\Extbase\Persistence\QueryResultInterface|array
  30. */
  31. public function findAllOrderedByTitle()
  32. {
  33. $query = $this->createQuery();
  34. $query->setOrderings(['title' => QueryInterface::ORDER_ASCENDING]);
  35. return $query->execute();
  36. }
  37. }