【问题标题】:cakePHP single form, two tables, multiple recordscakePHP 单表,两张表,多条记录
【发布时间】:2023-03-21 23:30:02
【问题描述】:

有两个表:
poducts [id, name, etc..]specs [id, product_id, spec_name, spec_value],
我正在使用表单来编辑产品(例如/products/edit/332
以我想添加的形式(它是关联的,我可以在视图中访问它)规范。这是specs 表中的记录列表。

是否可以将规范创建为相同形式的输入? 另外,我想启用“添加新规范”的功能。

谢谢

【问题讨论】:

    标签: forms cakephp-1.3 multiple-tables


    【解决方案1】:

    保存相关模型数据,可以使用saveAll

    $this->Product->saveAll($this->request->data);
    

    以及您在产品形式中的输入:

    echo $form->input('Spec.0.spec_name');
    echo $form->input('Spec.0.spec_value');
    

    如果您需要更多输入,只需增加 0 值即可。

    更多信息:http://book.cakephp.org/2.0/en/models/saving-your-data.html

    【讨论】:

    • 三个问题: 1) saveAll 只能保存平面结构的数据,来自同一模型的多个记录或单个关联记录。 2)model.number.field_name 非常适合新记录,而不是编辑它们,因为 id 不存在。 3)我正在使用 cakephp v1.3
    • 1) Product 和 Spec 是不是有很多关联? 2)我的更新建议:为规范输入带来数据,但保存时,删除 beforeSave 中的所有规范以再次保存,因为您不知道用户是否在表单中删除或添加了规范字段。 3) 对不起,我没有看到之前的版本。但语法几乎相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2019-08-30
    相关资源
    最近更新 更多