在Laravel Auditing中审计新的自定义数据,可以按照以下步骤进行:
Auditable
trait,以便启用审计功能。auditData()
方法,该方法返回一个关联数组,包含自定义审计数据的键值对。Audit
facade来创建审计记录,并将自定义审计数据传递给auditData()
方法。下面是一个示例:
php artisan make:migration create_custom_audits_table --create=custom_audits
在生成的迁移文件中,添加自定义审计数据的字段:
public function up()
{
Schema::create('custom_audits', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('user_id');
$table->string('action');
$table->json('old_values')->nullable();
$table->json('new_values')->nullable();
$table->timestamps();
});
}
use Illuminate\Database\Eloquent\Model;
use OwenIt\Auditing\Contracts\Auditable;
class YourModel extends Model implements Auditable
{
use \OwenIt\Auditing\Auditable;
protected $auditInclude = ['your_custom_field'];
public function auditData()
{
return [
'your_custom_field' => $this->your_custom_field,
];
}
}
use OwenIt\Auditing\Facades\Audit;
$yourModel = YourModel::find($id);
$yourModel->your_custom_field = 'new value';
$yourModel->save();
Audit::audit()->on($yourModel)->withEvent('updated')->log();
这样,当你对YourModel
进行更新操作时,会在custom_audits
表中创建一条审计记录,包含自定义审计数据。
请注意,以上示例中使用的是Laravel Auditing扩展包,你可以根据自己的需求进行调整和扩展。有关Laravel Auditing的更多信息和使用方法,请参考腾讯云的Laravel Auditing文档。
领取专属 10元无门槛券
手把手带您无忧上云