告别重复Slug:使用drobee/nova-sluggable简化Laravel Nova开发
发布时间 - 2025-03-11 00:00:00 点击率:次我最近在开发一个博
客系统,使用laravel nova作为后台管理界面。为了方便管理文章,我需要为每篇文章生成一个唯一的slug,用于文章的url。起初,我尝试手动维护slug,但很快发现这非常低效。每添加一篇文章,都需要手动检查slug的唯一性,如果重复则需要手动修改,这不仅浪费时间,还容易出错。更糟糕的是,在多人协作的开发环境下,这种手动方式会变得更加混乱。
于是我开始寻找解决方案,最终找到了drobee/nova-sluggable这个Laravel Nova扩展包。它可以自动生成唯一的Slug,并在用户输入标题时实时更新,完美地解决了我的问题。
安装drobee/nova-sluggable非常简单,只需要使用Composer:
composer require drobee/nova-sluggable
安装完成后,在你的Nova资源中添加SluggableText和Slug字段:
use Drobee\NovaSluggable\SluggableText;
use Drobee\NovaSluggable\Slug;class Post extends Resource
{// ... public function fields(Request $request) { return [ // ... SluggableText::make('标题'), Slug::make('Slug'), // ... ]; }}
就这么简单!现在,当用户在“标题”字段输入文字时,“Slug”字段会自动生成对应的Slug,并且保证其唯一性。 这个包甚至支持自定义Slug字段名称、语言、最大长度、分隔符以及更新事件(
keyup或blur)。 例如,要自定义Slug字段的最大长度为100,可以使用如下代码:Slug::make('Slug')->slugMaxLength(100);更重要的是,
drobee/nova-sluggable可以与流行的Spatie\Sluggable包无缝集成,如果你的模型已经使用了Spatie\Sluggable,那么drobee/nova-sluggable会自动继承其配置,无需额外设置。 这大大简化了配置过程,并确保了Slug生成的一致性。为了确保Slug的唯一性,你需要在
Slug字段上调用slugUnique()方法,并指定Eloquent模型:Slug::make('Slug')->slugUnique() ->slugModel(static::$model);通过这些简单的配置,
drobee/nova-sluggable就能够为我的博客系统自动生成唯一且友好的Slug,极大地提升了开发效率和用户体验。 再也不用担心Slug重复或手动维护Slug带来的麻烦了! 这让我可以将更多精力投入到其他更重要的功能开发中。 如果你也正在为Laravel Nova项目的Slug问题苦恼,强烈推荐你试试drobee/nova-sluggable。 相信它会成为你开发利器,让你的开发过程更加流畅高效。 学习更多关于Composer的使用技巧,可以参考这个Composer在线学习地址:学习地址。
# composer # laravel # 博客系统 # 继承 # 事件 # 的是 # 自动生成 # 更重要 # 自定义 # 你也 # 并在 # 它可以 # 只需要 # 可以使用 # 它会
相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571 】
相关推荐: 如何制作一个表白网站视频,关于勇敢表白的小标题? Laravel怎么使用artisan命令缓存配置和视图 Laravel Fortify是什么,和Jetstream有什么关系 Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门 简历在线制作网站免费版,如何创建个人简历? 如何在景安云服务器上绑定域名并配置虚拟主机? 如何快速搭建二级域名独立网站? Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧 Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】 详解jQuery中的事件 Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程 js实现获取鼠标当前的位置 Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控 深圳网站制作平台,深圳市做网站好的公司有哪些? 夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化 微信推文制作网站有哪些,怎么做微信推文,急? Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】 如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱? 详解Android——蓝牙技术 带你实现终端间数据传输 今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】 html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】 JavaScript数据类型有哪些_如何准确判断一个变量的类型 网站制作软件免费下载安装,有哪些免费下载的软件网站? Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践 Android滚轮选择时间控件使用详解 如何在阿里云高效完成企业建站全流程? HTML 中动态设置元素 name 属性的正确语法详解 英语简历制作免费网站推荐,如何将简历翻译成英文? Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】 桂林网站制作公司有哪些,桂林马拉松怎么报名? 如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程 Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件 Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】 Laravel怎么导出Excel文件_Laravel Excel插件使用教程 Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧 如何在Windows虚拟主机上快速搭建网站? laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法 香港服务器网站卡顿?如何解决网络延迟与负载问题? 在线教育网站制作平台,山西立德教育官网? Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程 如何用已有域名快速搭建网站? 为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】 百度输入法ai组件怎么删除 百度输入法ai组件移除工具 Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布 通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】 谷歌Google入口永久地址_Google搜索引擎官网首页永久入口 如何在香港免费服务器上快速搭建网站? JS经典正则表达式笔试题汇总 Laravel怎么连接多个数据库_Laravel多数据库连接配置 瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口

