所以我有三种模式:
教练:var $ hasAndBelongsToMany = array(“Tour”)
游览:var $ hasAndBelongsToMany = array(“Coach”)
CoachesTour:var $ belongsTo = array(“Tour”,“Coach”)
Coach和Tour之间有一个HABTM关联,它应该使用CoachesTour作为连接模型。
我正在使用脚手架。修改Tour时,如果向其添加新的CoachesTour,则不会调用CoachesTour的beforeSave方法。似乎连接模型的记录作为SQL语句插入,而不是使用连接模型。
我在这里错过了什么吗?
谢谢,
答案 0 :(得分:0)
如果使用saveAll保存数据,则不会调用beforeSave回调。 你必须覆盖saveAll函数。
例如在您的模型中:
public function saveAll($data, $options = array()) {
/*
your code you want execute before saving...
*/
parent::saveAll($data, $options);
}
你必须知道其他保存方法(saveMany,saveAssociated,save)beforeSave回调是在保存之前触发的。但是对于saveAll它不是触发器,你可以在你的模型中覆盖它,如果你想在保存之前执行一些代码。