首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Laravel 5.3中,如何使用eloquent-sluggable包在url末尾添加一个slug?

在Laravel 5.3中,要在URL末尾添加一个slug,可以使用eloquent-sluggable包。以下是使用该包的步骤:

  1. 首先,通过Composer安装eloquent-sluggable包。在终端中运行以下命令:composer require cviebrock/eloquent-sluggable
  2. 安装完成后,打开项目中的config/app.php文件,并在providers数组中添加以下行:Cviebrock\EloquentSluggable\ServiceProvider::class,
  3. 然后,在终端中运行以下命令,发布配置文件:php artisan vendor:publish --provider="Cviebrock\EloquentSluggable\ServiceProvider"
  4. 运行以上命令后,会在config目录下生成一个名为sluggable.php的配置文件。在该文件中,你可以配置slug的生成规则和其他选项。
  5. 在要使用slug的模型中,使用Sluggable trait,并在sluggable属性中定义slug的字段和生成规则。例如,假设你有一个Post模型,你可以这样使用:use Cviebrock\EloquentSluggable\Sluggable;

class Post extends Model

{

代码语言:txt
复制
   use Sluggable;
代码语言:txt
复制
   public function sluggable()
代码语言:txt
复制
   {
代码语言:txt
复制
       return [
代码语言:txt
复制
           'slug' => [
代码语言:txt
复制
               'source' => 'title'
代码语言:txt
复制
           ]
代码语言:txt
复制
       ];
代码语言:txt
复制
   }

}

代码语言:txt
复制

在上述示例中,我们定义了一个名为slug的字段,它的值将根据title字段生成。

  1. 最后,在控制器或路由中,你可以通过以下方式获取带有slug的URL:$post = Post::find(1); $url = $post->slug;

上述代码将返回带有slug的URL,例如/posts/my-first-post.

这样,你就可以在Laravel 5.3中使用eloquent-sluggable包在URL末尾添加一个slug了。

请注意,以上答案中没有提及任何特定的云计算品牌商,如腾讯云。如需了解腾讯云相关产品和产品介绍,请访问腾讯云官方网站。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

3分钟短文:Laravel slug,让你的url地址更“好记”

而友好的url地址更是能让人一目了然,增加用户的好感。同时对于爬虫也是好的示例,搜索引擎可以友好地展开工作了。 [img] 本文就来讲讲,如何laravel中构造友好的url路由。 啥是slug?...我们之前的章节已经使用laravel Route功能,重新构造了url,所以访问起来像是连贯的: http://example.com/events/42 直接使用位置参数绑定的方式传递。...如果使用如下方式,效果要友好的多: http://example.com/events/laravel-hacking-and-coffee 这种基于字符串位置参数绑定的URL方式,被称为 slug。...有一个第三方类库专门用于url的友好化。...使用 composer 安装: composer require cviebrock/eloquent-sluggable:^4.3 模型引入 Slug 功能 引入 eloquent-sluggable

3.5K11
  • Laravel 7 新特性-路由的趟坑之路(自定义键名以及作用域)

    我们的以前的 URL 可能是如下这样: http://laravel7.test/posts/posts/1 我们是通过主键 ID 来进行查找的。...当然我们以前的版本可以更改这个,我们需要在 模型中重写一个方法 getRouteKeyName 接下来我们看下 Laravel 7 以前是怎么实现的 首先。...public function getRouteKeyName() { return 'slug'; } 接下来我们就可以使用 slug 来进行查询了 比如下面的 URL http://laravel7....test/posts/amet-laudantium-reprehenderit-ullam-repudiandae Laravel 7 的版本,实现以上自定义键,就更加方便了 只需要在 路由上添加一个动态参数即可...最终看了半天文档 我发现他给的路由后面有一个 动态参数 slug,加上试试。

    2.5K10

    基于全局中间件 + Redis 实现 Laravel 全站访问计数器功能

    上篇教程学院君已经给大家简单介绍了 Redis 的基本数据结构和常见使用场景,接下来我们就以 Laravel 项目为例来演示如何实现这些常见的业务功能。...安装 PHP Redis 扩展 开始之前,我们先新建一个 Laravel 示例项目 redis-demo: laravel new redis-demo 要想在 Laravel/PHP 项目中使用 Redis...Laravel/PHP 项目中使用 Redis,不过作者宣称已停止更新该扩展包,所以推荐使用 PHP Redis 扩展包,且该扩展包基于 C 语言编写,性能也更好。...如果你使用的是 Laravel 官方提供的 Sail 构建 Docker 开发环境,则 PHP Redis 扩展包已经默认安装: Redis 客户端连接与配置 redis-demo 项目根目录下的...那 Laravel 代码中为何可以直接使用 site_total_visits 键进行访问呢?

    2.2K20

    Laravel 路由使用入门

    而我们的 Laravel 从入门到精通系列教程之旅也将从路由开始,在这篇真正意义上的开篇教程中,我们将学习如何定义路由,然后将其指向要执行的代码,并处理各种路由需求。...1、路由入门 Laravel 应用中,定义路由有两个入口,一个是 routes/web.php,用于处理终端用户通过 Web 浏览器直接访问的请求,另一个是 routes/api.php,用于处理其他接入方的...这就是一个最简单的 Laravel 路由定义,但是涵盖了一个 Web 框架的基本功能:处理请求,返回响应。...5、路由命名 应用其他地方引用路由的最简单的方式就是通过定义路由的第一个路径参数,你可以视图中通过辅助函数 url() 来引用指定路由,该函数会为传入路径加上完整的域名前缀,所以 url('/')...你可以视图文件中这么使用: 此外,Laravel 还允许你为每个路由命名,这样一来,不必显式引用路径 URL 就可以对路由进行引用,这样做的好处是你可以为一些复杂的路由路径定义一个简单的路由名称从而简化对路由的引用

    2.6K50

    Laravel 5 系列入门教程(一)【最适合中国人的 Laravel 教程】

    跟随本教程走完一遍,你将会得到一个基础的包含登录的简单 blog 系统,并将学会如何使用一些强大的 Laravel 插件和 composer 包(Laravel 插件也是 composer 包)。...本系列教程使用 Laravel 5.0 版本,5.1 版本去掉了本系列教程主要讲解的元素(Auth 系统),不建议使用 5.1 来学习。...使用浏览器访问你配置的地址,将看到以下画面(我本地配置的地址为 http://fuck.io:88 ): 2....=laravel5 DB_USERNAME=root DB_PASSWORD=password 推荐新建一个名为 laravel5 的数据库,为了学习方便,推荐使用 root 账户直接操作。... Eloquent 中,数据库中每一张表对应着一个 Model 类(当然也可以对应多个)。

    3.4K20

    Laravel系列4.7】连接redis以及缓存应用

    Redis 配置及使用 同样地, config/database.php 中,我们就可以见到 Redis 的配置。...配置中有一个 default 和一个 cache 的配置,这个 cache 配置实际上是如果我们将 Laravel 默认的缓存目标设置为 Redis 的话,就会走这个配置,它会默认使用 Redis 的...缓存配置及应用 我们 Laravel 中,可以像上面那样去使用 redis 来充当缓存,不过大家的选择可不能只限于 redis 呀,很多情况下,我们可能会用别的缓存工具,比如说 Memcached...仔细看配置文件,会发现有一个 prefix 属性,这里是指定 cache 会自动添加的前缀值,默认会加上 laravel_cache 这样一个前缀,于是,保存在 redis 中的键就需要使用 laravel_cache...但是呢,由于缓存数据库都相对来说会比关系型数据库简单一些,因此这些组件 Laravel 中的呈现反而相对来说会简单一些。

    1.1K30

    如何在Debian 8上安装和使用Composer

    此应用程序的目标是将给定的句子转换为slug,这是一个URL友好的字符串。 这用于将页面标题转换为URL路径(如本教程的URL的最后部分)。 让我们从为项目创建目录开始。...Packagist上搜索包 接下来,我们将搜索Packagist以获取包以帮助生成slug。如果您搜索“slug”,您将看到一个包列表。...列表中每个包的右侧,您将看到两个数字:顶部的数字是安装包的次数,底部的数字显示包在GitHub上加星的次数。 一般来说,具有更多的安装量和星星的包装往往更稳定,因为许多人正在使用它们。...我们需要的是一个简单的string-to-slug转换器。作为一个例子,我们将使用包cocur/slugify。这似乎是一个很好的匹配,因为它有合理数量的安装量和星星。...您可以Composer的版本控制文档中阅读有关版本基本原理的更多信息。 到目前为止,我们已经了解了如何使用Composer使用Composer添加和限制项目所需的PHP库composer.json。

    1.6K20

    # 3分钟短文:Laravel路由注册,你必须掌握的“动词”!

    本期为大家说一说用laravel注册路由的那些必知必会的方法。 代码时间 遵循编程惯例,首先实现一个 hello world 的示例。...路由文件 routes/web.php 内注册一个get请求的路径: // routes/web.php Route::get('/', function () { return 'Hello...,路由注册也可以指向控制器方法,比如这样: Route::get('/', 'WelcomeController@index'); 动态路由需要用户提供更多个输入参数,所以规划路由上,可以使用占位符接收路由地址的数据...如果路由内声明了多个位置参数,且都需要验证,那么 where 方法内传入参数名 + 正则的数组即可: Route::get('posts/{id}/{slug}', function ($id, $slug...写在最后 本文初步介绍了laravel内注册一条路由的方法,简单地讲解了位置参数的传入和接收,以及路由内添加正则表达式赋能的条件约束方式。都是基础而且使用的,大家一定要牢固掌握。

    71722

    3分钟短文:Laravel路由注册,你必须掌握的“动词”!

    本期为大家说一说用laravel注册路由的那些必知必会的方法。 代码时间 遵循编程惯例,首先实现一个 hello world 的示例。...路由文件 routes/web.php 内注册一个get请求的路径: // routes/web.php Route::get('/', function () { return 'Hello...,路由注册也可以指向控制器方法,比如这样: Route::get('/', 'WelcomeController@index'); 动态路由需要用户提供更多个输入参数,所以规划路由上,可以使用占位符接收路由地址的数据...如果路由内声明了多个位置参数,且都需要验证,那么 where 方法内传入参数名 + 正则的数组即可: Route::get('posts/{id}/{slug}', function ($id, $slug...写在最后 本文初步介绍了laravel内注册一条路由的方法,简单地讲解了位置参数的传入和接收,以及路由内添加正则表达式赋能的条件约束方式。都是基础而且使用的,大家一定要牢固掌握。

    41720

    Laravel 7发行说明

    引入 Laravel 框架或其组件时,应始终使用版本约束,如 ^7.0,因为 Laravel 的主要版本确实包含非兼容性更改。我们会努力确保您可以一天或更短的时间内更新到最新版本。... 如前所述,大改之后的 Laravel7 当中这是一个非常小又普通的一个功能,而且还没有演示匿名组件,内联视图组件和各种各样的其他特性。...基于这些函数, Laravel 7 现在提供了一个更加面向对象的、更加流畅的字符串操作库。你可以使用 Str::of 方法创建一个 Illuminate\Support\Stringable 对象。...为此, Laravel 7 允许你路由参数中指定某个字段: Route::get('api/posts/{post:slug}', function (App\Post $post) { return...post:slug}', function (User $user, Post $post) { return $post; }); 当使用自定义键隐式绑定作为嵌套的路由参数时,Laravel

    9K20

    Hugo系列(2) - 通过配置文件来定制个人站点

    :文章的slug,和title一样是定义文件头里的属性,当没有定义slug时会使用title作为url :filename:文章的文件名,不包括文件扩展名。...出于seo考虑,不建议url里加上年月日之类的,由于标题大多有中文或者特殊字符,所以也不建议直接使用标题作为url的一部分。...这里建议使用slug的方式,自己手动给每篇文章提取若干个关键词作为slug,以此作为url的一部分,如下: 1 2 [permalinks] posts = "/posts/:slug.html"...然后文章的slug可以这样配置**(permalinks是配置站点配置文件里的,slug是配置每篇文章的文件头里的)**: 1 2 3 4 --- title: 建站日志 slug: e62c38c45...另外值得一提的是,默认用的是pretty Url的配置,所有url末尾都有个/,而Hexo那边url末尾是没有这个/的,算是一点小小的不同。

    98010

    推荐 Laravel API 项目必须使用的 8 个扩展包

    Laravel 内置的项目包括 Composer,允许您添加一些包,使开发更快。 当您决定启动新的基于 API 的项目时,以下几个有用的软件包必须安装。 1....这个扩展包在Laravel 5中封装了  PHP Debug Bar ,它使用一个 ServiceProvider 去注册并输出 debugbar 的信息 。...Tymondesign/jwt-auth 认证是一个验证你是谁的过程,登录过程后确认用户身份。为了简单起见,你应该使用 JWT 作为认证过程的标准方法。...当你需要在两方之间转移数据时,JWT (JSON Web Token) 是紧凑的,URL安全的代表, 这里 是 JWT laravel 中流行的扩展包. 3....Webpatser/laravel-uuid 是一个 Laravel 第三方包,根据 RFC 4122 标准生成 UUID, 你可以 这里 找到它。 6.

    2.8K10

    Django路由控制URL详解

    Django还提供了一种根据活动语言翻译URL的方法。 2. django如何处理请求 当用户请求一个页面时,Django根据下面的逻辑执行操作: 决定要使用的根URLconf模块。...,那么这个是默认使用的; int:匹配0和正整数,返回一个int类型 slug:可理解为注释、后缀、附属等概念,是url最后的一部分解释性字符。...注意,这个例子中的正则表达式没有包含$(字符串结束匹配符),但是包含一个末尾的斜杠。...如果你的URL 模式叫做comment,而另外一个应用中也有一个同样的名称,当你模板中使用这个名称的时候不能保证将插入哪个URLURL 名称中加上一个前缀,比如应用的名称,将减少冲突的可能。...由于name没有作用域,Django反解URL时,会在项目全局顺序搜索,当查找到第一个name指定URL时,立即返回 我们开发项目时,会经常使用name属性反解出URL,当不小心不同的app的urls

    1.1K20
    领券