我有一个不常见的问题来进行表单验证。
首先让我解释一下问题的一部分:我正在做一个cakePhp网站,这个网站将用于向客户销售产品。为此,我们有两个数据库:一个数据库(数据库A)相对于产品,客户参考,账单(由ERP提供),一个数据库(数据库B)相对于网站必须仅为网站存储的信息(用户密码,购物车内容,产品评论......)。
要在我们的网站上注册一个用户,我要: 在数据库A中创建一个“地址” 在数据库A中创建一个“客户” 在数据库B中创建一个“用户”。
这只是一个动作。
我在用户控制器上,所以验证“用户”的每个字段都没问题,但是如何使这个表单验证我在客户和地址模型中的所有约束?
问题是因为用户和客户不在同一个数据库中,我不能(事实上我不确定,但它似乎是逻辑,因为自动左连接)声明$ belongsTo和$ hasOne用户和客户之间的关系。
那我怎么能检查那些约束呢? 非常感谢你
答案 0 :(得分:2)
您可以手动验证字段。
$this->Customer->set( $this->data );
$this->Address->set( $this->data );
if( $this->User->validates() && $this->Customer->validates() && $this->Address->validates() ) {
// save data
}