• support@answerspoint.com

Best way to load models in CakePHP 2.0


I'm not sure of the best way to load models in CakePHP 2.0 now.

Question 1

I have a model where more than one database field is related to another model.

customers table has the fields country_origincountry_residence and country_study and all of those fields contain an ID from the table countries.

So in my Customer model, how am I supposed to load the Country model?

Question 2

Has Controller::loadModel() been deprecated or is it bad practice to use this? How am I supposed to load a model in the controller?

Question 3

When or why do you have to use App::uses() in a controller or model? I don't understand the point when the models will load anyway if you use the normal methods like loadModel()hasOnehasManybelongsTo, etc.



This should be simple to understand. If you are using a controller and you need to load another model, you can call:


Then you can make calls to the model like you normally would:

$this->SomeModel->read(null, '1');

App::uses is for lazy loading of classes. So you can still load a model using uses:

App::uses('MyModel', 'Model');

But then you will need to call it differently:

$MyModel = new MyModel();
$MyModel->read(null, '1');


MyModel::read(null, '1');

It just depends on where and how you want to use it.

  • answered 7 years ago
  • Gul Hafiz

Your Answer

    Facebook Share        
  • asked 7 years ago
  • viewed 1725 times
  • active 7 years ago

Best Rated Questions