我有一个最奇怪的故障。我正在使用nodeapi并定位故事节点类型。我在insert
案例之前有presave
个案,其中presave
代替update
。
switch ($op){
case 'insert':
//do some stuff
break;
case 'presave':
//do some stuff
break;
}
奇怪的是,在创建故事节点时,presave
块会运行。我认为insert
应该启用,然后由于break
而退出,presave
根本不会运行。出于某种原因,presave
正在节点创建时运行。
答案 0 :(得分:4)
presave
是节点保存过程的一部分:它总是在节点保存到数据库之前被调用。
在$node
(在首次创建节点时调用)或insert
(update
期间将其保存到数据库之前,需要更改新presave
对象时使用它在更新现有节点时调用。)
因此,在您的情况下,首次创建节点时,会调用insert
,然后调用{{1}}。