在开发一个基于 laravel 的项目时,我遇到了一个常见但棘手的问题:如何在 Laravel Nova 界面中清晰地显示资源的创建者和最后更新者信息。这不仅是为了提高用户体验,更是为了增强系统的审计功能。我尝试了多种方法,但效果都不尽如人意,直到我发现了 coreproc/nova-auditing-user-fields 这个库,它完美地解决了我的难题。
coreproc/nova-auditing-user-fields 是一个专门为 Laravel Nova 设计的扩展库,它与 Laravel Auditing 包紧密集成,可以在 Nova 界面中显示资源的创建者和最后更新者的信息。这个库提供了两个主要字段:CreatedBy 和 UpdatedBy,它们可以轻松地添加到你的 Nova 资源中。
安装这个库非常简单,只需在你的 Laravel 项目中运行以下 composer 命令:
composer require coreproc/nova-auditing-user-fields
安装完成后,你需要确保你的模型使用了 Auditable 特性并实现了 Auditable 契约,如下所示:
<?php namespace App; use IlluminateDatabaseEloquentModel; use OwenItAuditingContractsAuditable; class User extends Model implements Auditable { use OwenItAuditingAuditable; // ... }
然后,在你的 Nova 资源中,你可以轻松地添加 CreatedBy 和 UpdatedBy 字段:
<?php use CoreprocNovaAuditingUserFieldsCreatedBy; use CoreprocNovaAuditingUserFieldsUpdatedBy; use IlluminateHttpRequest; class User extends Resource { // ... public function fields(Request $request) { return [ // ... CreatedBy::make('Created By'), UpdatedBy::make('Updated By')->onlyOnDetail(), // ... ]; } }
使用 coreproc/nova-auditing-user-fields 库后,我的项目在审计功能上有了显著提升。用户可以在 Nova 界面中直接看到资源的创建者和更新者信息,这大大提高了数据管理的透明度和效率。此外,这个库的安装和使用非常简单,不需要复杂的配置,极大地简化了开发过程。
总的来说,coreproc/nova-auditing-user-fields 库不仅解决了我在 Laravel Nova 中显示审计信息的问题,还提供了高效、易用的解决方案。如果你在开发过程中也遇到类似的需求,这个库绝对值得一试。