public function saveFilterValues(?array $filters = []): self 	{ 		$this->productFilters->each(function ($item) { 			$item->delete(); 		});  		$filters ??= [];  		$categoryFilters = CategoryFilter::whereIn('category_id', $this->productCategories()->pluck('category_id')->toArray())->available()->whereIn('filter_id', array_keys($filters))->get(); 		// $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; 	}