@@ -141,6 +141,9 @@ private static function _mapEnvironmentDocumentFeatureStatesToFeatureContexts($f
141141 */
142142 private static function _mapIdentityOverridesToSegments ($ identityOverrides )
143143 {
144+ /** @var array<string, int> */
145+ $ featureIDsByName = [];
146+
144147 /** @var array<string, array<string>> */
145148 $ featuresToIdentifiers = [];
146149 foreach ($ identityOverrides as $ identityOverride ) {
@@ -154,8 +157,8 @@ private static function _mapIdentityOverridesToSegments($identityOverrides)
154157 /** @var array<array<mixed>> */
155158 $ overridesKey = [];
156159 foreach ($ identityFeatures as $ featureState ) {
160+ $ featureIDsByName [$ featureState ->feature ->name ] = $ featureState ->feature ->id ;
157161 $ part = [
158- $ featureState ->feature ->id ,
159162 $ featureState ->feature ->name ,
160163 $ featureState ->enabled ,
161164 $ featureState ->feature_state_value ,
@@ -185,7 +188,8 @@ private static function _mapIdentityOverridesToSegments($identityOverrides)
185188
186189 $ segment ->overrides = [];
187190 foreach (unserialize ($ serializedOverridesKey ) as $ overrideKey ) {
188- [$ featureId , $ featureName , $ enabled , $ value ] = $ overrideKey ;
191+ [$ featureName , $ enabled , $ value ] = $ overrideKey ;
192+ $ featureId = $ featureIDsByName [$ featureName ];
189193 $ feature = new FeatureContext ();
190194 $ feature ->key = '' ; // Not used in identity overrides
191195 $ feature ->name = $ featureName ;
0 commit comments