From 889e352bf89a0422b1e1f546da9ead64808b8b2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E6=99=AF=E7=AB=8B?= Date: Wed, 12 Mar 2025 21:19:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=95=B0=E6=8D=AE=E5=BA=93=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=89=8D=E5=A2=9E=E5=8A=A0=20db.event.think=5Fbefore?= =?UTF-8?q?=5Fevent=20=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin/think-library/src/Helper.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/plugin/think-library/src/Helper.php b/plugin/think-library/src/Helper.php index 035902505..c7e955b67 100644 --- a/plugin/think-library/src/Helper.php +++ b/plugin/think-library/src/Helper.php @@ -93,10 +93,10 @@ abstract class Helper if (self::isSubquery($query)) { $query = Library::$sapp->db->table($query); } else { - return static::buildModel($query)->db(); + return self::triggerBeforeEvent(static::buildModel($query)->db()); } } - if ($query instanceof Model) return $query->db(); + if ($query instanceof Model) return self::triggerBeforeEvent($query->db()); if ($query instanceof BaseQuery && !$query->getModel()) { // 如果是子查询,不需要挂载模型对象 if (!self::isSubquery($query->getTable())) { @@ -107,6 +107,17 @@ abstract class Helper $query->model(static::buildModel($query->getName(), [], $name)); } } + return self::triggerBeforeEvent($query); + } + + /** + * 触发查询对象执行前事件 + * @param BaseQuery|Model|mixed $query + * @return BaseQuery|Model|mixed + */ + private static function triggerBeforeEvent($query) + { + Library::$sapp->db->trigger('think_before_event', $query); return $query; }