From d9178c17f76ddac6a641f22dc5d4a121ea1456e9 Mon Sep 17 00:00:00 2001 From: Kavalar Date: Sun, 19 Jan 2025 19:21:15 +0300 Subject: [PATCH] news --- .../tgbot/controllers/TgMainController.php | 6 ++++-- kernel/app_modules/tag/service/TagService.php | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/app/modules/tgbot/controllers/TgMainController.php b/app/modules/tgbot/controllers/TgMainController.php index 751a20a..50e5e05 100644 --- a/app/modules/tgbot/controllers/TgMainController.php +++ b/app/modules/tgbot/controllers/TgMainController.php @@ -2,8 +2,10 @@ namespace app\modules\tgbot\controllers; +use Cassandra\Decimal; use kernel\app_modules\tag\service\TagService; use kernel\Controller; +use kernel\helpers\Debug; use kernel\modules\post\models\Post; class TgMainController extends Controller @@ -25,14 +27,14 @@ class TgMainController extends Controller public function actionNews(): void { - $news = TagService::getEntityByTagId(2, Post::class); + $news = TagService::getEntityByTagSlug("novosti", Post::class); $this->cgView->render("news.php", ['news' => $news]); } public function actionPromo(): void { - $news = TagService::getEntityByTagId(1, Post::class); + $news = TagService::getEntityByTagSlug("akcii", Post::class); $this->cgView->render("news.php", ['news' => $news]); } diff --git a/kernel/app_modules/tag/service/TagService.php b/kernel/app_modules/tag/service/TagService.php index d4eb6b1..9b4d27d 100755 --- a/kernel/app_modules/tag/service/TagService.php +++ b/kernel/app_modules/tag/service/TagService.php @@ -57,4 +57,23 @@ class TagService return $queryBuilder->whereIn("id", $entityIdArr)->get(); } + public static function getEntityByTagSlug(string $tagSlug, $model) + { + $tag = Tag::where("slug", $tagSlug)->first(); + if ($tag){ + $tagEntity = TagEntity::where("tag_id", $tag->id)->get(); + if ($tagEntity){ + $entityIdArr = []; + foreach ($tagEntity as $item){ + $entityIdArr[] = $item['entity_id']; + } + } + $queryBuilder = $model::query(); + + return $queryBuilder->whereIn("id", $entityIdArr)->get(); + } + + return []; + } + } \ No newline at end of file