gpt4 book ai didi

CakePHP afterSave 计时

转载 作者:行者123 更新时间:2023-12-02 05:09:24 26 4
gpt4 key购买 nike

我有一种情况,在模型的 afterSave 中回调,我正在尝试从远程关联访问数据(这是一个具有非常不稳定的关联链接的遗留数据模型)。我发现的是,在回调中我可以对模型执行查找调用,但如果我此时退出,则记录永远不会插入到数据库中。缺少记录意味着我无法使用刚刚插入当前的数据对相关模型执行查找。

关于 afterSave 何时实际提交数据,我还没有发现任何提及。回调参与。我正在使用遗留代码,但我没有看到任何迹象表明我们专门从事交易,所以我想弄清楚我的选择可能是什么。

谢谢。

更新

场景的要点是这样的:我们正在接受事件注册,但人们可能会被列入候补名单。用户可以注册(或被注册)给定的 Date .注册完成后,我需要在注册日期(WaitList.user_id)检查等待列表中是否存在注册用户(WaitList.date_id)的记录。如果存在这样的记录,则可以将其删除,因为它已成为有效注册。

遗留架构让我处于注册不直接与日期相关联的位置,因此我无法获得 Date.id容易地。相反,Registration->Registrant->Ticket->Date .不直观,我知道,但现在就是这样。甚至更好(包括讽刺),我们有一个名为 attendees 的 View 汇总所有这些信息,我可以从中使用新创建的 Registration->id返回 Attendee.date_id .由于记录不存在,因此在 View 中不可用。

希望这能提供更多背景信息。

最佳答案

afterSave 中的查找查询的目的是什么?

更新

是否可以正确关联记录?或者我们是否在谈论太多的重构以致于不值得?如果无法修改记录之间的关联,您可以将检查移至 Controller 。

类似(伪代码)

if (save->isSuccessful) {
if (onWaitList) {
// delete record
}
}

这不是最佳做法,但可以帮助您解决问题。

关于CakePHP afterSave 计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7245956/

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