I hate to be contrary, but I disagree. Whatever else you come up with would be 
great for some, awkward for others. It works and I think it's very precise.

Jeremy Burns
Class Outfit

jeremybu...@classoutfit.com
http://www.classoutfit.com

On 19 Oct 2010, at 16:34, Joshua Muheim wrote:

> Thanks for your explanations, sounds good. Still I think
> $model->data['Model']['field'] is very awkward. ;-)
> 
> On Tue, Oct 19, 2010 at 4:26 PM, Jeremy Burns | Class Outfit
> <jeremybu...@classoutfit.com> wrote:
>> I think this is a mute point - it works really well as it is.
>> 
>> If a model has a self join relationship with itself you give it a different 
>> model alias, so it will appear with that name in the data array, not the 
>> name of the model. For example, an employees table might have a self join to 
>> denote a management structure. So the field employees.manager_id would join 
>> back onto employees.id. Your model would be something like this:
>> 
>> Employee...
>> var $belongsTo => array(
>>        'Manager' => array(
>>                'className' => 'Employee',
>>                'foreignKey' => 'manager_id'
>>        )
>> );
>> 
>> If you did a find containing the employee and his/her manager, you'd have a 
>> whole leaf of data under the Manager key.
>> 
>> This makes much more sense than grouping the data elements by the type of 
>> join. It also means that you can change the join type in your model and all 
>> of your finds and so on will still work.
>> 
>> Jeremy Burns
>> Class Outfit
>> 
>> jeremybu...@classoutfit.com
>> http://www.classoutfit.com
>> 
>> On 19 Oct 2010, at 14:59, Joshua Muheim wrote:
>> 
>>> Maybe I don't really understand your point, but as far as I see that's
>>> exactly what I've written here:
>>> 
>>> Then I saw that every related model has its own key there, so it makes
>>> a bit sense. But why is the key in the array the model's name?
>>> Wouldn't it be better to have the name of the association in there?
>>> Because what when I have multiple associations to the same model? Or a
>>> HABTM with myself?
>>> 
>>> On Tue, Oct 19, 2010 at 3:56 PM, euromark <dereurom...@googlemail.com> 
>>> wrote:
>>>> i think you are missing the obvious point
>>>> is there a reason why this is done this way in cake? yes, there is
>>>> trust the guys that work with since several years
>>>> 
>>>> one example:
>>>> you have a BelongsTo relationshop
>>>> cake can easily get this data as well
>>>> 
>>>> now you can do:
>>>> 
>>>> $this->Model->recursive = 0;
>>>> $m = $this->Model->findById(1);
>>>> echo $res['Model']['something];
>>>> echo $res['OtherModel']['something];
>>>> 
>>>> without any additional stuff going on.
>>>> thats why you always have the model name first.
>>>> 
>>>> 
>>>> On 19 Okt., 14:30, Joshua Muheim <psybea...@gmail.com> wrote:
>>>>> It looks really clumsy to me. What about the following?
>>>>> 
>>>>> class AppModel extends Model {
>>>>>     function data($field) {
>>>>>         return $this->data[$this->name][$field];
>>>>>     }
>>>>> 
>>>>> }
>>>>> 
>>>>> First I was not sure why in the $data array there is a key
>>>>> 'ModelName', I would have expected something like this:
>>>>> 
>>>>> array(
>>>>>     'id' => 1,
>>>>>     'name' => 'bla'
>>>>> )
>>>>> 
>>>>> instead of
>>>>> 
>>>>> array(
>>>>>     'ModelName' => array(
>>>>>         'id' => 1,
>>>>>         'name' => 'bla'
>>>>>     )
>>>>> )
>>>>> 
>>>>> Then I saw that every related model has its own key there, so it makes
>>>>> a bit sense. But why is the key in the array the model's name?
>>>>> Wouldn't it be better to have the name of the association in there?
>>>>> Because what when I have multiple associations to the same model? Or a
>>>>> HABTM with myself?
>>>>> 
>>>>> Aside of this, I guess retrieving the "immediate" data of the model
>>>>> (not of it's related models') should have a special status and should
>>>>> be able to be retrieved in a faster way, like the one above...
>>>>> 
>>>>> On Tue, Oct 19, 2010 at 1:15 PM, euromark <dereurom...@googlemail.com> 
>>>>> wrote:
>>>>>> nope
>>>>>> but thats already a very neat way to do it
>>>>>> what is your problem with it?
>>>>> 
>>>>>> On 19 Okt., 11:53, psybear83 <psybea...@gmail.com> wrote:
>>>>>>> Hi everybody
>>>>> 
>>>>>>> Sorry for this newbish question, but I don't seem to find much about
>>>>>>> this (although I should, I guess).
>>>>> 
>>>>>>> $m = $this->Model->find(1);
>>>>>>> echo $m->data['Model']['something];
>>>>> 
>>>>>>> Is there a better way of getting a model's data fields instead of
>>>>>>> this? I always thought this could be done with $m->field(), but this
>>>>>>> retrieves the data from the database, what is not what I want.
>>>>> 
>>>>>>> Thanks
>>>>>>> Josh
>>>>> 
>>>>>> 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 cake-php@googlegroups.com
>>>>>> To unsubscribe from this group, send email to
>>>>>> cake-php+unsubscr...@googlegroups.com For more options, visit this group 
>>>>>> athttp://groups.google.com/group/cake-php?hl=en
>>>> 
>>>> Check out the new CakePHP Questions site http://cakeqs.org and 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 cake-php@googlegroups.com
>>>> To unsubscribe from this group, send email to
>>>> cake-php+unsubscr...@googlegroups.com For more options, visit this group 
>>>> at http://groups.google.com/group/cake-php?hl=en
>>>> 
>>> 
>>> Check out the new CakePHP Questions site http://cakeqs.org and 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 cake-php@googlegroups.com
>>> To unsubscribe from this group, send email to
>>> cake-php+unsubscr...@googlegroups.com For more options, visit this group at 
>>> http://groups.google.com/group/cake-php?hl=en
>> 
>> Check out the new CakePHP Questions site http://cakeqs.org and 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 cake-php@googlegroups.com
>> To unsubscribe from this group, send email to
>> cake-php+unsubscr...@googlegroups.com For more options, visit this group at 
>> http://groups.google.com/group/cake-php?hl=en
>> 
> 
> Check out the new CakePHP Questions site http://cakeqs.org and 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 cake-php@googlegroups.com
> To unsubscribe from this group, send email to
> cake-php+unsubscr...@googlegroups.com For more options, visit this group at 
> http://groups.google.com/group/cake-php?hl=en

Check out the new CakePHP Questions site http://cakeqs.org and 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 cake-php@googlegroups.com
To unsubscribe from this group, send email to
cake-php+unsubscr...@googlegroups.com For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en

Reply via email to