我的PHP应用程序管理'事件'。我有一个类将所有需要的事件属性定义为私有var成员。每个var成员通过setter执行验证,因此事件中的每个值都是有效的。最后,我有一个使用这些setter的工厂方法来创建事件的新实例。该方法执行附加验证,确保在创建类的新实例时存在所有必需的属性。
这是我的问题。
每个活动都必须有一个id。插入事件时,此ID由数据库创建,因此在创建事件但尚未插入的时刻,没有id。由于我在工厂方法中进行了所有验证,因此我不希望在其他方法中复制该代码,只是为了创建要插入数据库的临时事件。
标准/逻辑/等为什么要做事?
管理我自己的事件编号,所以在将事件插入数据库之前我可以拥有一个? 为什么在数据库可以为我做这么好的事情时为事件编制一个编号系统?
对于尚未插入数据库的事件,是否允许无ID事件,有不同的工厂方法? 为什么要使程序逻辑复杂化,根据需要/ notRequired属性取决于数据库中的状态?
注意:借口,我无法为此问题选择合适的标签。
答案 0 :(得分:1)
如果您可以设法在没有预定义ID的情况下执行此操作,那么请尝试这种方式。 另一方面,我猜测你正在使用一个表,其中id由自动增量值设置。 您可以从数据库中选择该值,然后事件ID将是自动增量ID + 1