• support@answerspoint.com

Best way to load models in CakePHP 2.0

1940

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.

1Answer


0

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

$this->loadModel('SomeModel');

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');

or

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

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

  • answered 8 years ago
  • Gul Hafiz

Your Answer

    Facebook Share        
       
  • asked 8 years ago
  • viewed 1940 times
  • active 8 years ago

Best Rated Questions