|
|
- <?php
-
- namespace App\Repositories;
-
- use App\Repositories\RepositoryAbstract;
-
- /**
- * request pages items from directus
- *
- * @author Björn Hase, Tentakelfabrik
- * @license http://opensource.org/licenses/MIT The MIT License
- * @link https://gitea.tentakelfabrik.de/Tentakelfabrik/super-gear-directus
- *
- */
-
- class PostRepository extends RepositoryAbstract
- {
- /** endpoint */
- protected $endpoint = 'posts';
-
- /**
- *
- */
- public function find($limit = 20)
- {
- return $this->queryBuilder
- ->fields([
- 'title',
- 'slug',
- 'lead',
- 'content',
- 'view',
- 'date_created',
- 'published_at',
- 'media_teaser.id',
- 'media_teaser.description'
- ])
- ->aliases('template', 'view')
- ->filter([
- 'status' => 'published',
- 'published_at' => [
- '_nnull' => 'true'
- ]
- ])
- ->sort(['published_at'])
- ->find();
- }
-
- /**
- * find single page with a slug,
- * page must be published
- *
- * @param string $slug
- * @return array
- */
- public function findOneBySlug($slug)
- {
- return $this->queryBuilder
- ->fields([
- 'title',
- 'slug',
- 'lead',
- 'content',
- 'view',
- 'meta',
- 'date_created',
- 'published_at',
- 'media_teaser.id',
- 'media_teaser.description',
- 'media_hero.id',
- 'media_hero.description',
- ])
- ->aliases('template', 'view')
- ->filter([
- 'status' => 'published',
- 'published_at' => [
- '_nnull' => 'true'
- ],
- 'slug' => $slug
- ])
- ->findOne();
- }
- }
|