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_origin
, country_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()
, hasOne
, hasMany
, belongsTo
, etc.
Best Answer
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:
App::uses
is for lazy loading of classes. So you can still load a model using uses:But then you will need to call it differently:
or
It just depends on where and how you want to use it.