我试着尽可能地解释一下情况,我想 知道在这种情况下你会采用什么解决方案。 假设我们在DB中有一个带有产品的表。 每个产品都有id,name和其他不相关的属性。 我需要在地址栏中输入这种URL:
http://website.bla/products/mickeymouse
其中mickeymouse是一个自定义名称,实际上取自名称 数据库中的字段,但自定义为更友好的URL。
现在,要管理它,我需要一个可以调用控制器的路由 调用产品的新视图。这就是问题所在。自mickeymouse 是一个自定义名称,即使我把它传递给路线,我也找不到它 在数据库中通过控制器,导致它几乎不可能 检索原始名称。 所以我认为我可以传递可能做的ID,但网址会 变得有点:
http://website.bla/products/255/mickeymouse
以255作为示例ID,我想避免在URL
中显示产品ID在laravel 5中是否可以从简单链接传递变量(ex:id) 到没有在地址栏中显示的路线?
答案 0 :(得分:1)
您应该为Laravel使用eloquent-sluggable包。这是做你想做的最简单的方法。
它易于使用的软件包,可以从表格中的任何列自动为您创建SEO友好的slug。此外,它还添加了finBySlug($id)
:
$list = MyList::findBySlug($id);