model?
On Sep 26, 11:01 am, alex_c <alex.cure...@gmail.com> wrote:
> Thanks, that is extremely helpful, and makes a lot of sense!
>
> >Querying "pictures AS
> > Picture" will take you one step towards what is returned from Cake's
> > find-methods
>
> That helps a lot. I guess I had assumed that since I was using $this->Picture->query, Cake was aware that the model should be Picture - but
>
> on second thought, it has no way of knowing that the query will
> actually return a Picture.
>
> Thank you for the helpful answer, it clears up a lot of things for me.
>
> Alex
>
> On Sep 26, 10:15 am, "martin.westin...@gmail.com"
>
> <martin.westin...@gmail.com> wrote:
> > The Model is quite a bit different in CakePHP compared to Rails.
> > Since all data is returned as an array structure (and not objects) it
> > is "dead" data and not "live" objects. It has to be laid out for you
> > in advance.
>
> > query vs. find
> > query is pretty much a wrapper for straight SQL queries. Since you
> > query "pictures" that is what you get back. Querying "pictures AS
> > Picture" will take you one step towards what is returned from Cake's
> > find-methods. Using find you are asking Cake to find data for Models.
> > Using qurey you are only using Cakes dbo layer to ask sql queries.
>
> > find('first') vs. find('all')
> > When asking for a single record you will get back an array with the
> > model's name as a key to access its data. $data['Picture']...
> > When asking for multiple records you will get back an numeric array.
> > Each one of the elements in that array will be identical to what the
> > single record returned. $data[2]['Picture']...
>
> > Why the ['Picture']?
> > My take on why this structure was chosen is that is allows the same
> > view-elements to render from many different find operations. If
> > Article hasMany Picture you would access the picture data the same
> > from Article as from Picture directly.
> > Picture->find returns an array with a Picture key
> > Article->find returns an array with both Article and Picture keys.
> > A view element used to show pictures anywhere in the application would
> > never need to know that the pictures were found as related data or
> > not. The same goes for the form helper and any other code used to
> > manipulate data.
>
> > At least that is one possible reason. I was not in the room when they
> > came up with it ;)
>
> > I hope that was helpful. Just remember that Cake is (or once was)
> > similar to Rails in an overall perspective on things but not really in
> > the details.
>
> > On Sep 26, 3:49 am, alex_c <alex.cure...@gmail.com> wrote:
>
> > > Hi all,
>
> > > I am new to CakePHP. I've used both PHP (with no frameworks) and Ruby
> > > on Rails in the past, and decided that learning a PHP framework might
> > > make PHP projects a lot more pleasant. I chose CakePHP because I'm
> > > familiar with Rails - so far it's great, but I do have to wrap my head
> > > around the differences.
>
> > > I'm a bit unsure on what is the "CakePHP way" to use data returned
> > > from the model. To keep things simple, let's say I have a model
> > > Picture, with only one field, id.
>
> > > What's throwing me off is that the data returned doesn't always seem
> > > to follow a consistent format. For example,
>
> > > $this->Picture->findById("1")
>
> > > will return
>
> > > Array
> > > (
> > > [Picture] => Array
> > > (
> > > [id] => 1
> > > )
> > > )
>
> > > but
>
> > > $this->Picture->query("SELECT * FROM pictures WHERE id=1")
>
> > > will return
>
> > > Array
> > > (
> > > [0] => Array
> > > (
> > > [pictures] => Array
> > > (
> > > [id] => 1
> > > )
> > > )
> > > )
>
> > > It feels a bit odd to have to write, for example, $pic["Picture"]
> > > ["id"] everywhere, rather than $pic["id], but I can live with that.
>
> > > What's really throwing me off is $pic["Picture"]["id"] versus
> > > $pic["pictures"]["id"]. Having to account for that every time I
> > > either read or use data seems... well... it really doesn't feel right.
>
> > > So, am I missing anything? Am I supposed to massage the data returned
> > > from Find and Query methods in the controller? How do you guys use it
> > > in your views and helpers, to keep things as simple and consistent as
> > > possible?
>
> > > I'm using 1.2.0.7296-RC2.
>
> > > Thanks for any help!
>
> > > Alex
--~--~---------~--~----~------------~-------~--~----~
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