我正在尝试在一个默认模型中加载另一个模型。我的数据库中有一个配置文件表。但得到错误。
用户模型
App::uses('AuthComponent', 'Controller/Component');
class User extends AppModel {
public function getProfileData(){
$this->loadModel('Profile');
$profileData = $this->Profile->findById('8');
print_r($profileData);
}
}
错误:
Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'loadModel' at line 1
SQL Query: loadModel
答案 0 :(得分:2)
loadmodel适用于控制器。
要在当前模型中使用新模型,请尝试:
App::uses('Profile', 'Model');
$Profile = new Profile();
$profileData = $Profile->findById('8');
答案 1 :(得分:1)
还有另一种方式。
$profile= ClassRegistry::init('Profile');
$profileData = $profile->findById(8);
答案 2 :(得分:0)
也许Profile模型已经与User模型相关联。 如果是这种情况,您可以使用以下方式访问它:
$this->User->Profile->findById(8);
无需加载任何内容。