From de4648470fafa63987a7bef88d4b59f3d622ff88 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Thu, 11 Mar 2021 21:23:41 +0100 Subject: [PATCH] draft ::with() function for models --- Controller/BackendController.php | 39 +++++++++++++++++--------------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/Controller/BackendController.php b/Controller/BackendController.php index 30b73a9..369520b 100755 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -58,23 +58,26 @@ final class BackendController extends Controller implements DashboardElementInte if ($request->getData('ptype') === 'p') { $view->setData('news', - NewsArticleMapper::withConditional('language', $response->getLanguage()) - ::withConditional('status', NewsStatus::VISIBLE, [NewsArticle::class]) - ::withConditional('publish', new \DateTime('now'), [NewsArticle::class], '<=') + NewsArticleMapper::with('language', $response->getLanguage()) + ::with('comments', models: null) + ::with('status', NewsStatus::VISIBLE, [NewsArticle::class]) + ::with('publish', new \DateTime('now'), [NewsArticle::class], '<=') ::getBeforePivot((int) ($request->getData('id') ?? 0), null, 10) ); } elseif ($request->getData('ptype') === 'n') { $view->setData('news', - NewsArticleMapper::withConditional('language', $response->getLanguage()) - ::withConditional('status', NewsStatus::VISIBLE, [NewsArticle::class]) - ::withConditional('publish', new \DateTime('now'), [NewsArticle::class], '<=') + NewsArticleMapper::with('language', $response->getLanguage()) + ::with('comments', models: null) + ::with('status', NewsStatus::VISIBLE, [NewsArticle::class]) + ::with('publish', new \DateTime('now'), [NewsArticle::class], '<=') ::getAfterPivot((int) ($request->getData('id') ?? 0), null, 10) ); } else { $view->setData('news', - NewsArticleMapper::withConditional('language', $response->getLanguage()) - ::withConditional('status', NewsStatus::VISIBLE, [NewsArticle::class]) - ::withConditional('publish', new \DateTime('now'), [NewsArticle::class], '<=') + NewsArticleMapper::with('language', $response->getLanguage()) + ::with('comments', models: null) + ::with('status', NewsStatus::VISIBLE, [NewsArticle::class]) + ::with('publish', new \DateTime('now'), [NewsArticle::class], '<=') ::getAfterPivot(0, null, 10) ); } @@ -90,8 +93,8 @@ final class BackendController extends Controller implements DashboardElementInte $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/News/Theme/Backend/dashboard-news'); - $news = NewsArticleMapper::withConditional('language', $response->getLanguage()) - ::withConditional('publish', new \DateTime('now'), [NewsArticle::class], '<=') + $news = NewsArticleMapper::with('language', $response->getLanguage()) + ::with('publish', new \DateTime('now'), [NewsArticle::class], '<=') ::getNewest(5); $view->addData('news', $news); @@ -115,7 +118,7 @@ final class BackendController extends Controller implements DashboardElementInte { $view = new View($this->app->l11nManager, $request, $response); - $article = NewsArticleMapper::withConditional('language', $response->getLanguage()) + $article = NewsArticleMapper::with('language', $response->getLanguage()) ::get((int) $request->getData('id')); $accountId = $request->header->account; @@ -171,19 +174,19 @@ final class BackendController extends Controller implements DashboardElementInte if ($request->getData('ptype') === 'p') { $view->setData('news', - NewsArticleMapper::withConditional('status', NewsStatus::VISIBLE, [NewsArticle::class]) - ::withConditional('publish', new \DateTime('now'), [NewsArticle::class], '<=') + NewsArticleMapper::with('status', NewsStatus::VISIBLE, [NewsArticle::class]) + ::with('publish', new \DateTime('now'), [NewsArticle::class], '<=') ::getBeforePivot((int) ($request->getData('id') ?? 0), null, 25) ); } elseif ($request->getData('ptype') === 'n') { $view->setData('news', - NewsArticleMapper::withConditional('status', NewsStatus::VISIBLE, [NewsArticle::class]) - ::withConditional('publish', new \DateTime('now'), [NewsArticle::class], '<=') + NewsArticleMapper::with('status', NewsStatus::VISIBLE, [NewsArticle::class]) + ::with('publish', new \DateTime('now'), [NewsArticle::class], '<=') ::getAfterPivot((int) ($request->getData('id') ?? 0), null, 25) ); } else { - $view->setData('news', NewsArticleMapper::withConditional('status', NewsStatus::VISIBLE, [NewsArticle::class]) - ::withConditional('publish', new \DateTime('now'), [NewsArticle::class], '<=') + $view->setData('news', NewsArticleMapper::with('status', NewsStatus::VISIBLE, [NewsArticle::class]) + ::with('publish', new \DateTime('now'), [NewsArticle::class], '<=') ::getAfterPivot(0, null, 25)); }