Bob*_*Bob 7 php cakephp models cakephp-1.3
我想知道在验证模型A时如何使用模型B中的数据,这里检查输入的Banknumber是否是正确的:
我的用户在注册期间指定了他们的银行帐户.例如"银行编号".我在user.php模型中验证这是正常的方法
var $validate = array(
'banknumber' => array(
'minLength' => array(
'rule' => array('minLength', 8),
'message' => '...',
'required' => true,
),
Run Code Online (Sandbox Code Playgroud)
现在我想知道输入的Banknumber是否真实,所以我的数据库中有一个表"Banks",包含所有真正的Banknumbers,我正在使用我在app_model.php中指定的一些自己的验证函数.
function checkBankExists($data) {
if (!$this->Bank->findByBanknumber($data)) {
return false;
} else {
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
但这永远不会有效,因为在我验证用户模型时,我只能在app_model函数中使用这个,用$ this-> name访问它... a $ this-> Bank不可能,我得到:
未定义的属性:User :: $ Bank [APP\app_model.php
在非对象上调用成员函数findByBanknumber()
有没有办法在app_model.php中导入/访问函数中的其他模型?
谢谢!
Oli*_*man 24
通常应该使用ClassRegistry而不是AppImport,因为AppImport只加载文件,而不是正确地注册它,蛋糕样式.
使用上面的例子.
$bnk = ClassRegistry::init('Bank');
$bnk->findByBanknumber($data);
Run Code Online (Sandbox Code Playgroud)
您可以导入模型,创建它的实例并根据需要使用它:
App::import('model','Bank');
$bnk = new Bank();
$bnk->findByBanknumber($data);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8028 次 |
| 最近记录: |