0

目标

Name-Of-Product使用而不是其 id从数据库中选择数据。

问题

我的应用程序允许用户比较产品价格。为了进行一些比较,我需要访问myapp.com/Product/Compare?Id=1. 我正在升级我的应用程序,现在我想访问myapp.com/Product/Xbox-360以进行比较。

如何从数据库中选择sluggified单词而不是其 id?我必须解开弦吗?

有人可以启发我吗?

我已经尝试过的

我什至不知道如何开始。换句话说,我什么都没尝试。哦...实际上,如果有必要,我已经创建了一个可以对某些字符串进行 sluggify 的方法,但我认为没有必要在这里发布。

SQL 聚焦

我生成要比较的产品列表的查询很简单:

Select product.Name,
       marketProduct.Price
From app_products As product
Join app_marketProducts As marketProduct
Where product.Id = 1
4

1 回答 1

2

你基本上有两个选择:

  • 您可以将slug存储在数据库中的新列中。

  • 您可以通过某种方式将主键(ID)添加到您的 URL:

    a) 直接连接到蛞蝓(例如 /42-My-Slug)

    b) 到 URL 的另一部分(例如 /42/My-Slug)。这似乎是最佳实践,例如 StackOverflow 使用它。

于 2013-07-30T19:13:09.397 回答