Good point, I started using the 'values' handler to grab a list of the values and shouldn't/won't be accessing the whole hash directly anyway.
I set the contents in the class by passing in $self->_industries( \%selected ); but from then on using the trait handles.
My previous implementations would have just stored the values in an array-ref, the move to using a hash is so I have quicker lookup with the ID of the values.
My hash looks like this btw, incase it makes a difference...
$obj->_industries( { 17 => { id => 17, name => 'foo' },
26 => { id => 26, name => 'bar' },
}
);
There is obviously a duplication of the IDs, but that's minimal, and keeps the code that uses it simpler, rather than having to carry the ID AND the object around.
That's the only down-side I can think of. |