Hey, this is my first post so be nice!
A site that I've been working on has portfolio pieces stored as DataObjects, each with a relevant image. These are getting pulled to the template and shown in a widget, but the aim has been to show a random 4 logos, rather than 4 from a specifically sorted set.
Being somewhat averse to using mySQL's "RAND()" function in a query, I figured the best way of doing it would be to initialize the full set of DataObjects and then use a shuffle function (which for some reason isn't in the core DataObjectSet class). Unfortunately decorating the class and using:
public function Shuffle() {
shuffle($this->owner->items);
}
Throws up the error:
[Notice] Indirect modification of overloaded property DataObjectSet::$items has no effect
I wondered if anyone could explain why this was and how one would go about decorating the class correctly (if at all)?
(FYI, I managed to achieve what I wanted by extending DataObjectSet, but wondered why decorating wasn't working)
Cheers!