filterData)) { $this->filterData = []; } if (!WPFunctions::get()->isSerialized($this->filterData)) { $this->filterData = serialize($this->filterData); } return parent::save(); } public static function getAllBySegmentIds($segmentIds) { if (empty($segmentIds)) return []; $query = self::tableAlias('filters') ->whereIn('filters.segment_id', $segmentIds); $query->findMany(); return $query->findMany(); } public function __get($name) { $name = Helpers::camelCaseToUnderscore($name); $value = parent::__get($name); if ($name === 'filter_data' && WPFunctions::get()->isSerialized($value)) { return unserialize($value); } return $value; } public static function deleteAllBySegmentIds($segmentIds) { if (empty($segmentIds)) return; $query = self::tableAlias('filters') ->whereIn('segment_id', $segmentIds); $query->deleteMany(); } }