数据库模型中的函数在钩子上执行的时候被执行两次

迅睿框架 更新 2022-12-27 16:35:30 匿名者

插件开发中数据库操作动作,如下:

$data = array(
    'title' => 'My title',
    'name' => 'My Name',
    'date' => 'My date'
);
\Phpcmf\Service::M()->db->table('test')->insert($data);

将此动作放在数据库模型文件(My.php)然后在钩子中调用此事件,数据库为什么会记录两次同样的数据? 这事件被执行两次了



方案

  • 新手上路 #1 · 2022-12-27 15:57:33
    做一个判断,防止重复执行
  • 匿名者 #2 · 2022-12-27 16:00:51
    满意答案
    新手上路 大哥你这回答的简单粗暴,按道理来说不应该重复执行
  • 匿名者 #3 · 2022-12-27 16:35:30
    @匿名者:已解决!完结! 钩子执行时执行了一次,函数跟着执行了一次!

迅睿系统漏洞

站群分站系统
站群分站系统(2026-10-15)
子站域名新增llms.txt访问
GEO系统
GEO系统(2026-10-14)
修复下载zip空白地址问题 修复流量复刻和任务队列错误
GeoSeo收录宝
GeoSeo收录宝(2026-10-14)
新增 站长工具箱 前端首页自动调用meta 数据
滑块验证码 Gocaptcha
滑块验证码 Gocaptcha(2026-10-13)
基于开源项目 go-captcha 的行为验证码插件,滑动拼图、区域...
GeoSeo工具箱
GeoSeo工具箱(2026-10-13)
优化巡检任务
GeoSeo排名助手
GeoSeo排名助手(2026-10-11)
加入大模型自定义
SEO聚合关键字
SEO聚合关键字(2026-10-11)
优化关键字列表页最多支持1万篇文章,过多会导致服务器扛不住;
CMS内容同步复制
CMS内容同步复制(2026-10-10)
增加时间是否更新的开关