在验证模型A时,我想知道如何使用B模型中的数据来检查输入的Banknumber是否是正确的:
我的用户在注册期间指定了他们的银行帐户。例如“银行号”。我正在用我的user.php模型来验证这一点。
var $validate = array(
'banknumber' => array(
'minLength' => array(
'rule' => array('minLength', 8),
'message' => '...',
'required' => true,
),现在我想知道输入的Banknumber是否是真实的,所以我在DB中有一个表"Banks“,其中包含了所有的实数,并且我正在使用一些我在app_model.php中指定的验证函数。
function checkBankExists($data) {
if (!$this->Bank->findByBanknumber($data)) {
return false;
} else {
return true;
}
}但是这是行不通的,因为当我验证用户模型时,我只能在app_model -函数中使用这个函数,用$ this ->name来访问它.一个美元->银行是不可能的,我得到:
未定义属性: User::$Bank [APP\app_model.php ]
调用非对象上的成员函数findByBanknumber()
在app_model.php中有任何方法来导入/访问函数中的其他模型吗?
谢谢!
发布于 2011-05-07 14:16:59
您可以导入您的模型,创建它的实例并按您的意愿使用它:
App::import('model','Bank');
$bnk = new Bank();
$bnk->findByBanknumber($data);发布于 2012-01-07 16:48:36
通常应该使用ClassRegistry而不是AppImport,因为AppImport只加载文件,而不是正确地注册它。
使用上面的例子。
$bnk = ClassRegistry::init('Bank');
$bnk->findByBanknumber($data);https://stackoverflow.com/questions/5921544
复制相似问题