'integer', 'created_at' => 'datetime', 'updated_at' => 'datetime', 'deleted_at' => 'datetime', ]; /** * 启用状态查询作用域 */ public function scopeEnabled(Builder $query): Builder { return $query->where('status', 1); } /** * 按ID查询并检查存在性 * @param int $id * @param array $columns * @return AbstractModel */ public static function findOrFail(mixed $id, $columns = []): self { $model = self::find($id, $columns); if (!$model) { throw new ModelNotFoundException(); } return $model; } /** * 创建记录并返回实例 */ public static function createOne(array $data): self { return static::query()->create($data); } /** * 更新记录 */ public static function updateById(int $id, array $data): bool { $model = self::findOrFail($id); return $model->update($data); } /** * 删除记录 * @throws Exception */ public static function deleteById(int $id): bool { $model = self::findOrFail($id); return $model->delete(); } }