Don't worry too much about the hows and whys. If your models are associated in 
any way you can reach a distantly related model to run any model method as 
described earlier. It's a very useful and powerful facility.

Jeremy Burns
Class Outfit

[email protected]
http://www.classoutfit.com

On 23 Feb 2011, at 08:25, Axel wrote:

> Very interesting!
> 
> When you speak of $this->Car->Race->Spectator, the "->" arrow can
> represent any association, belongsTo, hasMany, hasOne,..?
> 
> I find quite hard to understand how a model can be a property or
> attribute of another object model? The constructing of those model
> classes is still full of opacity for me.
> 
> Thank you for your both answers.
> 
> On Feb 22, 9:24 pm, dtemes <[email protected]> wrote:
>> The classregistry way is the one I have seen as response to similar
>> questions.
>> 
>> In your example you are talking about races, so probably your Race
>> model has many cars and also has many spectators, in that case models
>> A and B are linked throug model C, so you could code something like:
>> 
>> $this->Car->Race->Spectator->find(....
>> 
>> Please cakephp gurus out there, correct me if I'm wrong.
>> 
>> Regards
>> 
>> On 21 feb, 09:48, Axel <[email protected]> wrote:
>> 
>>> Hello,
>> 
>>> I'm still a bit stuck in the MVC architecture. I've two models A and B
>>> which are not logically linked (let's imagine model A is a racing car
>>> and model B is a spectator of a race), so I haven't built any
>>> association between them. How can I use both models in a function in
>>> model A, I mean what is the best way to load B in A ? I4ve in mind two
>>> solution : first one is loading models in controller, retrieving data
>>> and passing them to function, but it's not controllers thin models
>>> fat. Second one is classregistry loading inside of the model, but
>>> might it be time consuming?
>> 
>>> Example :
>> 
>>> -------------FIRST example -------------------
>>> AController
>>> {
>> 
>>> function AAA($a_id,$b_id)
>>>  {
>>>  $a=$this->a->find(..conditions => ... a_id....)
>>>  $this->loadModel('b');
>>>  $b=$this->b->find((..conditions => ... b_id...);
>>>  $result=$this->a->funA($a,$b)
>>>  }
>> 
>>> }
>> 
>>> AModel
>>> {
>>> function funA($a,$b)
>>> {Logic, whole stuff, data treatment}
>> 
>>> }
>> 
>>> ------------SECOND example -----------------------
>> 
>>> AController
>>> {
>>> function AAA($a_id,$b_id)
>>>  {
>>>  $result=$this->a->funA($a_id,$b_id)
>>>  }
>> 
>>> }
>> 
>>> AModel
>>> {
>>> function funA($a_id,$b_id)
>>>  {
>>>  $a=$this->find(..conditions => ... a_id....)
>>>  $b=ClassRegistry::init(a)->find(..conditions => ... b_id....)
>>>  }
>> 
>>> }
>> 
>>> Thank you a lot!
> 
> -- 
> Our newest site for the community: CakePHP Video Tutorials 
> http://tv.cakephp.org 
> Check out the new CakePHP Questions site http://ask.cakephp.org and help 
> others with their CakePHP related questions.
> 
> 
> To unsubscribe from this group, send email to
> [email protected] For more options, visit this group at 
> http://groups.google.com/group/cake-php

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to