public function saveFilterValues(?array $filters = []): self 	{ 		// making sure translations are also deleted 		$this->productFilters->each(function ($item) { 			$item->delete(); 		});  		$filters ??= []; 		$category = $this->category;  		$categoryFilters = $category->use_parent_filters 			? CategoryFilter::whereIn('category_id', $category->ancestorsAndSelf()->available()->get()->pluck('id')->all())->whereIn('filter_id', array_keys($filters))->get()->unique('filter_id') 			: $category->categoryFilters()->available()->whereIn('filter_id', array_keys($filters))->get();  		foreach ($filters as $filter_id => $value) { 			$filter_id = $categoryFilters->where('filter_id', $filter_id)->first()->id ?? null;  			if (!$filter_id || $value == null) { 				continue; 			}  			$this->productFilters()->create([ 				'filter_categories_id' => $filter_id, 				'value' => $value, 			]); 		}  		return $this; 	}