gpt4 book ai didi

validation - Cake PHP 自动表单和多表

转载 作者:行者123 更新时间:2023-12-02 07:15:51 25 4
gpt4 key购买 nike

我有一个包含以下字段的表单:

  • 名字
  • 姓氏
  • 电子邮件地址

后跟(最多)十个姓名/电子邮件字段,就像这样

  • friendName-1
  • friendEmail-1
  • friendName-2
  • friendEmail-2...等

名字、姓氏和电子邮件地址字段将保存到“推荐”表中,但 10 个姓名/电子邮件对将保存到包含外键 refferal_id 的“ friend ”表中。

通常我使用 cakephp 的“automagic”表单,并在模型中设置我的验证,然后执行 $this->model->save(); 如果失败,我会返回我的模型验证规则和错误消息被吐回到我的表单 html 中。没问题。

不过,我将如何为两个表执行此操作?我认为 automagic 的东西不是要走的路,但我觉得没有它我会失去很多东西,例如我的模型中的验证和自定义错误消息。

有没有快乐的媒介?我对蛋糕相当陌生,所以我想知道是否有一种方法可以对多个表使用 automagic。

最佳答案

参见 http://book.cakephp.org/view/84/Saving-Related-Model-Data-hasOne-hasMany-belongsTo

在您的推荐模型中创建关系:

var $hasMany = array('Friend');

基本上,请确保您正确命名您的字段,例如

echo $form->create('Referral');
echo $form->input('first_name');
echo $form->input('last_name');
echo $form->input('email');
foreach (range(0,9) as $index) {
echo $form->input('Friend.'.$index.'.name');
echo $form->input('Friend.'.$index.'.email');
}
echo $form->end();

在您的推荐 Controller 中:

function add() {
if(!empty($this->data)) {
$this->Referral->saveAll($this->data, array('validate'=>'first'));
}
}

关于validation - Cake PHP 自动表单和多表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1118567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com