>From your description you've given, I would say your placing your code
in the wrong place or in the wrong level of the MVC. (Model, View,
Controller) The order of this acronym also implies importance about
where you should be putting your code. Most of your code should be in
the Model, the business logic, calculation and manipulation of data.
The view is next in the list as we need to format all the data we just
finished manipulating. The Controller should have the least amount of
code as its main purpose is to tie the user requested events to the
business logic and control which model functions should be called, and
to pass the already calculated data from the models to the view.

Think of them in this manner Models return Data, Controllers return
Views.

Often new developers to the MVC development structure end up building
apps where most of the code lives in the controllers and the models
are bare and relying on the core functions inherited from the base
model. They quickly find themselves in your position where you want to
use some code from a function in Controller2 to manipulate some data
from within Controller1 and find that it is very difficult to call on
another controller.

Models on the other hand are available to use from any other model in
the structure. Code put in a model can be called by both other models
as well as by the controllers.

Do your best to make your Models Fat with your data manipulation and
your Controllers Thin and you'll find the MVC framework is a great
design.

So your simple case might look more like this:
class Model2
{
     belongsto Model1
     function getComplexData(){
        $this->find(something);
        $this->Model1->customfunction();
        //combine and play with data returned from model1 and model2
       }
}

 class Controller 1
 {
    function func1(){  //No data manipulation in the controller.
       $data = $this->Model2->getComplexData();
       $this->set(data); //pass data to view for display
   }
 }


On Jan 13, 6:54 am, Axel <[email protected]> wrote:
> Hello,
>
> I'm starting to use CakePHP and it looks very nice. However, its main
> prupose seems to be management of relation with database and
> subsidiaries of these actions (showing results, etc...)
>
> In my case, I would like to create a site where I will have to do
> calculations with the data, sorting, etc... and these are using many
> method in different controllers, like :
>
> Model 2 belongsto Model 1
>
> class Controller 1
> {
>    function func1(
>
>         //recover data from model 1
>        // recover data from model 2 via loadModel
>
>        //Use function func2 from Controller 2
>        // combine and play with data returned from func2 and from
> Model1
> (...)
>    )
>
> }
>
> It's the simplest case and it can vary a lot. The problem is that I
> need requestAction to load func2 (is it ?). So, as it is very slow, I
> was thinking of using my own external structure (which is already
> built :D) and inside of this, doing some includes that recover the
> data of model1 and model 2, play in my own stuff, pass it inside of
> func2, play it ...etc.. etc...
> 1) it is easier in order to play with the values
> 2) no needs of request actions..etc
>
> I don't know if how to do that, and if it's a good way to use it.
>
> What do you think about it? Where can I put my fileS?
>
> Thank you
>
> PS : is this a help forum ?  Hope i'm not in the wrong place.

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 [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

Reply via email to