<?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(); } }