would be more complicated.
With this approach, the best you could achieve would be a nasty mess
of array_combine, array_keys and various set calls, all nested and
difficult to follow.
Although I love the Set class with all my heart, this is one instance
where I believe a simple loop would be easier to code, easier to
maintain, and ultimately more efficient for the server and the coder.
foreach($data as $i => $bacon) {
$statusHistory = array();
foreach($bacon['StatusHistory'] as $eggs) {
$statusHistory[$eggs['StatusName']['text']] = array(
'since' => $eggs['since'],
'Changer' => $ggs['Changer']['full_name']
);
}
$data[$i]['StatusHistory'] = $statusHistory;
}
Job done!
hth
grigri
On Apr 24, 9:16 am, "Faza" <f...@ansi.pl> wrote:
> Hello again,
>
> this is the array I'm working on:
>
> Array
> (
> [0] => Array
> (
> [Design] => Array
> (
> [id] => 39
> [design_no] => 1
> [job_title] => gjgfjyjgyjf
> [expected_date] => 2009-04-14
> [customer_id] => 5
> [designer_id] => 15
> [status_id] => 1
> [post_date] => 2009-04-23 13:11:23.247263+02
> [author_id] => 73
> )
>
> [Author] => Array
> (
> [full_name] => SKP Admin
> [id] => 73
> )
>
> [Designer] => Array
> (
> [full_name] => Jan Grzenda
> [id] => 15
> )
>
> [CustomerNr] => Array
> (
> [id] => 5
> [customers_number_name] => Test (2343)
> )
>
> [StatusHistory] => Array
> (
> [0] => Array
> (
> [since] => 2009-04-21 00:00:00+02
> [status_names_id] => 1
> [changer_id] => 74
> [design_id] => 39
> [StatusName] => Array
> (
> [text] => Nowe
> )
>
> [Changer] => Array
> (
> [full_name] => John Doe
> )
>
> )
>
> [1] => Array
> (
> [since] => 2009-04-23 14:17:11.673985+02
> [status_names_id] => 2
> [changer_id] => 74
> [design_id] => 39
> [StatusName] => Array
> (
> [text] => Przydzielone grafikowi
> )
>
> [Changer] => Array
> (
> [full_name] => Ed Smith
> )
>
> )
>
> )
>
> )
>
> I want to modify the [StatusHistory] branch.
> So far, I'm extracting it using:
>
> $hist = Set::extract($designs, '{n}.StatusHistory');
>
> This results in:
>
> Array
> (
> [0] => Array
> (
> [0] => Array
> (
> [since] => 2009-04-21 00:00:00+02
> [status_names_id] => 1
> [changer_id] => 74
> [design_id] => 39
> [StatusName] => Array
> (
> [text] => Nowe
> )
>
> [Changer] => Array
> (
> [full_name] => John Doe
> )
>
> )
>
> [1] => Array
> (
> [since] => 2009-04-23 14:17:11.673985+02
> [status_names_id] => 2
> [changer_id] => 74
> [design_id] => 39
> [StatusName] => Array
> (
> [text] => Przydzielone grafikowi
> )
>
> [Changer] => Array
> (
> [full_name] => Ed Smith
> )
>
> )
>
> )
>
> I've tried endless combine params, but without success.
> I want to achieve this:
>
> Array
> (
> [0] => Array
> (
> [Nowe] = (StatusName.text) => Array
> (
> [since] => 2009-04-21 00:00:00+02
> [Changer] => John Doe = (Changer.full_name)
> )
>
> [Przydzielone grafikowi] => Array
> (
> [since] => 2009-04-23 14:17:11.673985+02
> [Changer] => Ed Smith
> )
>
> )
>
> Last question, I want to replace the original [StatusHistory] with the new
> array.
>
> --
> Jacek
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to cake-php+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---
No comments:
Post a Comment