我不确定现在在CakePHP 2.0中加载模型的最佳方法.
问题1
我有一个模型,其中多个数据库字段与另一个模型相关.
customerstable包含字段country_origin,country_residence并且country_study所有这些字段都包含表中的ID countries.
所以在我的客户模型中,我应该如何加载Country模型?
问题2
已Controller::loadModel()被弃用或使用此不好做法?我怎么能在控制器中加载模型?
问题3
何时或为什么必须App::uses()在控制器或模型中使用?我不明白的点时,如果使用普通的方法,如车型将反正加载loadModel(),hasOne,hasMany,belongsTo,等.
Chu*_*ess 63
这应该很容易理解.如果您使用的是控制器并且需要加载其他型号,则可以调用:
$this->loadModel('SomeModel');
Run Code Online (Sandbox Code Playgroud)
然后你可以像往常一样调用模型:
$this->SomeModel->read(null, '1');
Run Code Online (Sandbox Code Playgroud)
App::uses用于延迟加载类.因此,您仍然可以使用以下方法加载模型:
App::uses('MyModel', 'Model');
Run Code Online (Sandbox Code Playgroud)
但是你需要以不同的方式调用它:
$MyModel = new MyModel();
$MyModel->read(null, '1');
Run Code Online (Sandbox Code Playgroud)
要么
MyModel::read(null, '1');
Run Code Online (Sandbox Code Playgroud)
这取决于您想要使用它的位置和方式.