Cake 1.2’s Set class
ThinkingPHP and beyond beschreibt die Set Class in Cake 1.2.
Das sieht extrem cool aus. Hoffentlich finde ich bald mal wieder Zeit ein wenig mit Cake 1.2 zu experementieren.
Cakes findAll Methode liefert meist recht unhandlich grosse Arrays zurück, z.B User hasMany Items:
$users = array (
0 => array (
'User' => array (
'id' => 1
, 'name' => 'Felix'
, 'Item' => array (
0 => array (
'id' => 1
, 'name' => 'Mouse'
)
, 1 => array (
'id' => 2
, 'name' => 'KeyBoard'
)
)
)
)
, 1 => array (
'User' => array (
'id' => 2
, 'name' => 'Bob'
, 'Item' => array (
0 => array (
'id' => 3
, 'name' => 'CD'
)
)
)
)
);
Mit
$userItems = array_combine ( Set::extract($users, '{n}.User.name'), Set::extract($users, '{n}.User.Item.{n}.name') );
erhält man dann:
Array (
[Felix] => Array (
[0] => Mouse
[1] => KeyBoard
)
[Bob] => Array (
[0] => CD
)
)

