Skip to content

Commit 7b11d57

Browse files
committed
fix: 数据库查询前增加 db.event.think_before_event 事件
1 parent cd3688b commit 7b11d57

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

src/Helper.php

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,10 @@ public static function buildQuery($query)
9393
if (self::isSubquery($query)) {
9494
$query = Library::$sapp->db->table($query);
9595
} else {
96-
return static::buildModel($query)->db();
96+
return self::triggerBeforeEvent(static::buildModel($query)->db());
9797
}
9898
}
99-
if ($query instanceof Model) return $query->db();
99+
if ($query instanceof Model) return self::triggerBeforeEvent($query->db());
100100
if ($query instanceof BaseQuery && !$query->getModel()) {
101101
// 如果是子查询,不需要挂载模型对象
102102
if (!self::isSubquery($query->getTable())) {
@@ -107,6 +107,17 @@ public static function buildQuery($query)
107107
$query->model(static::buildModel($query->getName(), [], $name));
108108
}
109109
}
110+
return self::triggerBeforeEvent($query);
111+
}
112+
113+
/**
114+
* 触发查询对象执行前事件
115+
* @param BaseQuery|Model|mixed $query
116+
* @return BaseQuery|Model|mixed
117+
*/
118+
private static function triggerBeforeEvent($query)
119+
{
120+
Library::$sapp->db->trigger('think_before_event', $query);
110121
return $query;
111122
}
112123

0 commit comments

Comments
 (0)