tait / model-logging
该包的最新版本(dev-master)没有提供许可信息。
dev-master
2014-11-08 19:54 UTC
Requires
- php: >=5.4.0
- illuminate/support: 4.2.*
This package is not auto-updated.
Last update: 2024-09-24 07:22:09 UTC
README
关于
此包为模型上的日志操作提供了一些方便的默认设置。
例如,如果您有一个管理员系统,其中多个用户可以标记订单为待处理、批准或取消,该包将帮助存储对模型所做的更改以及哪个用户进行了更改。
此包假设您正在使用 Eloquent 作为您的 ORM。
示例
首先,运行迁移以创建 "model_logging" 表
php artisan migrate --package=tait/model-logging
将 LoggableTrait 添加到您想要记录操作的模型上
<?php use Tait\ModelLogging\LoggableTrait; class Order extends Eloquent { use LoggableTrait; ... }
以下示例展示了如何添加一条日志,表示订单已被标记为已发货。
$order = Order::find(1); $order->status = 'dispatched'; $order->save(); $order->saveLog([ 'action' => 'Marked as ' . $order->status ]);
saveLog 方法为保存内容 ID、内容类型和用户 ID 提供了一些合理的默认设置。所有设置都可以通过设置相应的键来覆盖。以下示例显示了您可以在 saveLog 方法上设置的选项。
$order->saveLog([ 'user_id' => 34, 'content_id' => 19, 'content_type' => 'AnotherModel', 'action' => 'Made a change to AnotherModel', 'description' => 'A more detailed optional description of the change made to the model', ]);
以下示例展示了如何获取所有日志以及分页日志。
$order = Order::find(1); // Get all logs $all_logs = $order->getAllLogs(); // Get paginated logs $paginated_logs = $order->getPaginatedLogs();