Jamie,
thanks for the reassurance :-)
Submitting a ticket certainly is a good idea!
Regards,
Roland
Jamie wrote:
Hi Roland,
What you're suggesting is a pretty major change to data returned by
Cake - major in that there would be a lot of user-end code that needs
changing if this were to happen to the core. Though I think it's
awesome that you'd be willing to write a patch and submit it, maybe
you should first submit a ticket to Lighthouse (
http://cakephp.lighthouseapp.com
) for some feedback from the core development team. To be honest, I
found the structure of returned data a bit odd when I was starting out
with Cake as well, so you're not the only one.
- Jamie
On May 7, 5:46 am, Roland Bock <[email protected]> wrote:
Yes, and validation, too, I guess...
I hope to find the time :-)
Thanks for your help!
Regards,
Roland
You could probably write a Behaviour, but that will take additional
processing, which slows down the application.
On May 7, 2:48 pm, Roland Bock <[email protected]> wrote:
John Andersen wrote:
I agree that the structure could be better, but as it is, is the way
we have to work with it, and I consider it sufficient for my usage.
Enjoy,
John
OK, two questions:
a) Do you think I could tweak current Models with a Behavior in order to
get the structure I prefer?
b) Do you think it would make sense to send a patch that would change
the data structure (maybe for cake-1.4)?
Thanks and regards,
Roland
On May 7, 12:30 pm, Roland Bock <[email protected]> wrote:
Hi,
John Andersen wrote:
I do think that if you don't like something in CakePHP, please write
your own solution to it, then offer it to the CakePHP developers.
Sure. I'd like to understand first, though :-)
In CakePHP, Parent -> Node -> Child leads to different ways to handle a
single Node:
$node['id']; // in case Node has been retrieved by Parent
$node[Child'];
but
$currentRecord['Node']['id']; // Node has been retrieved by Node
$currentRecord['Child'];
This seems to add complexity.
Now, here is what I would aim for (including the Ghost you added)
Array
(
[Parent] => Array
(
[0] => Array
(
[id] => 1
[Node] => Array
(
[0] => Array
(
[id] => 17
[Child] => Array
(
)
)
[1] => Array
(
[id] => 19
[Child] => Array
(
)
)
)
[Ghost] => Array
(
[0] => Array
(
[id] => 2
)
[1] => Array
(
[id] => 3
)
)
)
)
)
This way I can say
$resultSet <- This is an array of Parents
$currentRecord = $resultSet['Parent']['0']
$currentRecord <- This is a Parent
$currentRecord['id']
$currentRecord['Node']
$currentRecord['Node'][0]['id']
$currentRecord['Node'][0]['Child']
$currentRecord['Ghost]
In the original CakePHP structure,
$resultSet <- This is an array of arrays(Parent,Nodes, Ghosts)
$currentRecord = $resultSet['0']
$currentRecord <- This is a Parent/Nodes/Ghosts array
$currentRecord['Parent']
$currentRecord['Parent']['id']
$currentRecord['Node']
$currentRecord['Node'][0]['Child]
$currentRecord['Ghost']
So basically, my way, you need to write *less* to access members of
'Parent'. The rest is pretty similar. But, (huge benefit, I think), you
can handle a Node always in the same way, regardless of whether you get
it included in a Parent or use the Node Model directly:
My way:
$node['id']; // no matter what
$node['Child'];
Remeber the CakePHP way:
$node['id']; // in case Node has been retrieved by Parent
$node[Child'];
but
$currentRecord['Node']['id']; // Node has been retrieved by Node
$currentRecord['Child'];
Does the above helps you to clarify why the original structure is
good?
Not yet, I am afraid. Maybe I was able to intrigue you with my proposal? :-)
Regards,
Roland
[snip]
Check out the new CakePHP Questions sitehttp://cakeqs.organdhelpothers with
their CakePHP related questions.
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected] For more options, visit this group
athttp://groups.google.com/group/cake-php?hl=en
Check out the new CakePHP Questions sitehttp://cakeqs.organdhelpothers with
their CakePHP related questions.
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected] For more options, visit this group
athttp://groups.google.com/group/cake-php?hl=en
Check out the new CakePHP Questions sitehttp://cakeqs.organdhelp others
with their CakePHP related questions.
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected] For more options, visit this group
athttp://groups.google.com/group/cake-php?hl=en
Check out the new CakePHP Questions sitehttp://cakeqs.organdhelp others
with their CakePHP related questions.
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected] For more options, visit this group
athttp://groups.google.com/group/cake-php?hl=en
Check out the new CakePHP Questions sitehttp://cakeqs.organd help others
with their CakePHP related questions.
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected] For more options, visit this group at
http://groups.google.com/group/cake-php?hl=en
Check out the new CakePHP Questions sitehttp://cakeqs.organd help others
with their CakePHP related questions.
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected] For more options, visit this group at
http://groups.google.com/group/cake-php?hl=en