我使用的瘦控制器调用Fat模型中的方法。当我调用一个驻留在我的胖模型中的方法时,我会收到下面的警告/错误。我的控制器似乎正在尝试查询该方法。非常感谢任何帮助。
Warning (512): SQL Error: 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 'testMe' at line 1 [CORE/cake/libs/model/datasources/dbo_source.php, line 684]
这是我在查询日志中看到的错误:
testMe 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 'testMe' at line 1
为了诊断这个问题,我已经愚弄了我的模型。
这是我模型的当前状态(user_entity_license.php):
class UserEntityLicense extends UserAgentAppModel {
var $name = 'UserEntityLicense';
var $primaryKey = 'license_id';
var $actsAs = array('Containable');
var $belongsTo = array('UserEntity' => array('className' => 'UserEntity','foreignKey' => 'entity_id'));
public function testMe()
{
return 'This is a test';
}
}
这是我的控制器的当前状态(user_entity_licenses_controller.php):
<?php
class UserEntityLicensesController extends UserAgentAppController {
var $name = "UserEntityLicenses";
var $uses = array('UserEntityLicense','UserEntity');
function expiringLicenses()
{
debug($this->UserEntityLicense->testMe());
}
}
答案 0 :(得分:2)
根据我们的评论主题,您必须使用符号
指定插件包中的模型 <packagename.modelname>
如下所示:
$uses = array('SomePackage.SomeModel');
如果不这样做,将导致您的控制器无法找到该型号。