gpt4 book ai didi

coldfusion - cfWheels - 创建对象相关对象

转载 作者:行者123 更新时间:2023-12-03 12:52:39 26 4
gpt4 key购买 nike

我有一个新模型 myModel,我正在创建它,它与正在创建的一堆子模型 mySubModel 具有一对多关系同时。

当我尝试保存模型时:

<cfset myModel=model("myModel").new(params.mymodel)>
<cfset myModel.save()>

仅保存模型部分,不创建 params.myModel.mySubModels 中的项目。这些模型有它们的关系设置,我可以通过正确的包含从 myModel 中提取相同格式的数据。

我可以单独保存每个模型,但我担心这会导致问题,或者如果 cfwheels 已经能够处理这个问题,那么只会创建针状代码行。我将不得不保存初始模型,然后保存额外的子模型,如果有错误,删除模型和其他已经写入数据库的子模型。

最佳答案

只要主对象与具有hasMany 的子对象相关,Nested Properties对你来说是无价的。

在主模型中:

function init() {
hasMany("subModels");
nestedProperties("subModels");
}

然后在 Controller 中调用 save() 来保存父对象及其所有关联的子对象。

function create() {
myModel = model("myModel").new(params.myModel);

// This call to `save()` saves associated children represented in `params.myModel` too
if (myModel.save()) {
redirectTo(route="myRoute", success="The model was saved successfully.");
}
else {
flashInsert(error="There was an error saving the model.");
renderPage(action="new");
}
}

如果您可以对您的特定数据结构发表更多评论,我可以在表单部分帮助您。将某些东西称为“子模型”只会让我们在本次讨论中走这么远。

关于coldfusion - cfWheels - 创建对象相关对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8426093/

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