From ae65ec769aa327a8ead428dfc965b1e864374084 Mon Sep 17 00:00:00 2001 From: Stepan Date: Wed, 2 Jul 2025 20:41:41 +0200 Subject: [PATCH] Added new property for Recipe --- apps/Recipes/Models/RecipeModel.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/apps/Recipes/Models/RecipeModel.php b/apps/Recipes/Models/RecipeModel.php index 3fe5e86..694d4cb 100644 --- a/apps/Recipes/Models/RecipeModel.php +++ b/apps/Recipes/Models/RecipeModel.php @@ -16,6 +16,7 @@ class RecipeModel extends BaseModel public $field_created_at; public $category_name; + public $is_in_favorite = 0; const STATUS = [['publish', 'Publish'], ['pending', 'Pending']]; @@ -48,6 +49,23 @@ class RecipeModel extends BaseModel 'status' => 'string', 'created_at' => 'DateTime' ]; + protected static function get_additional_fields(){ + $add_fields = parent::get_additional_fields(); + + // If user is authorized, we also check product in thw wishlist + if(CURRENT_USER) { + $add_fields = array_merge($add_fields, array( + [ + "field" => [ + "MAX(CASE WHEN fav.user_id = ". CURRENT_USER->get_id() ." THEN 1 ELSE 0 END) AS is_in_favorite" + ], + "join_table" => "recipe_favorites fav ON fav.recipe_id = obj.id" + ] + )); + } + + return $add_fields; + } public static function init_table() { $result = db_query('CREATE TABLE ' . static::$table_name . ' ( -- 2.34.1