cakephp与同一模型的多重关联保存问题
我有一个交易模型,分别使用发送者id和接收者id外键链接到客户两次cakephp与同一模型的多重关联保存问题,cakephp,Cakephp,我有一个交易模型,分别使用发送者id和接收者id外键链接到客户两次 public $belongTo = array( 'Sender' => array( 'className' => 'Customer', 'foreignKey' => 'sender_id', 'conditions' => '', 'fields' => '', 'order' => ''
public $belongTo = array(
'Sender' => array(
'className' => 'Customer',
'foreignKey' => 'sender_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Recipient' => array(
'className' => 'Customer',
'foreignKey' => 'recipient_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
)
要保存客户数据,必须放置哪些数据键?我试过这个
$data['Transaction']['amount'];
$data['Recipient']['name'];
$data['Sender']['name'];
收件人和发件人别名客户模型
现在是大问题。收件人和发件人的别名是否在保存时解析为客户?我的CakePHP有些生疏,但我相信您的问题的答案是肯定的 要保存发件人,您需要:
$this->Sender->save();
而不是:
$this->Customer->save();
是的,您的数据格式是正确的。您只需要在事务模型上使用saveAll或saveAssociated 看。它实际上是一个包装器,它将决定是否需要执行saveAssociated()(在您的案例中是这样做的),还是执行saveMany()(将多个记录保存到同一个模型中)
$this->Transaction->saveAll($data);
如果要对事务模型执行编辑,请确保在表单中包含Recipient.id和Sender.id,它们将被更新,而不是创建新记录。$this->Sender->save()将从何处调用。交易或客户模型。另外,在事务模型中调用saveAll()是否会正确保存别名关联我关心的是客户别名。在我看来,在事务中调用saveAll()似乎是试图一次保存两个以上的关联。一个我不知道的特征。请纠正我的错误。saveAll()将在传递的数据中包含的每个模型中保存日期。在您的情况下,它将保存交易金额、收件人姓名和发件人姓名。收件人和发件人将保存到客户表中。谢谢。终于明白了。我不能因为我的名誉而胜过你value@CholthiPaulTtiopic你可以。