【问题标题】:Using two different slugs on a route在路线上使用两个不同的 slug
【发布时间】:2016-05-05 03:34:20
【问题描述】:

我正在将一个旧的程序站点升级到 laravel 5.2,并且我正在为我制作的旧路线而苦苦挣扎。

在这个网站上,路线是这样制作的:{user_slug}/{content_slug}.html。目前,我使用cviebrock/eloquent-sluggable 来生成 slug,但如果这个不能满足我的需求,我愿意接受另一个。

我有两个问题:

  • 我可以使content-slug 唯一,但每个用户?
  • 如何编写路由和控制器以匹配正确的用户 slug 和正确的内容 slug?

【问题讨论】:

    标签: laravel laravel-5 slug


    【解决方案1】:

    我自己没有这样做,但我相信validation rules to do this 会有办法。这是一个未经测试的草稿,用于检查帖子表中的 content_slug,但仅检查 user_id 字段等于变量的唯一性:

    'content_slug' => "unique:posts,content_slug,NULL,id,user_id,$user->id"
    

    根据您询问的对象,他们可能会建议您(代替上述方法或与上述方法一样)根据 user_id 和 content_slug 字段在数据库中设置一个键。这样,如果尝试插入,数据库将返回错误,并在从该索引运行查询时提高性能。对索引的查询实际上可以带来指数级的性能提升。

    【讨论】:

    • 谢谢,我看看,尝试实现。
    猜你喜欢
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-19
    • 1970-01-01
    • 2017-05-18
    • 2013-11-23
    相关资源
    最近更新 更多