【问题标题】:Select by slugged string/friendly URL通过 slugged 字符串/友好 URL 选择
【发布时间】:2013-07-30 18:49:34
【问题描述】:

目标

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

问题

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

如何从数据库中选择 sluggified 词而不是它的 id?我必须unsluggify字符串吗?

谁能启发我?

我已经尝试过的

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

SQL 聚焦

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

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

【问题讨论】:

  • 哪里 product.SluggifiedName = "Xbox-360"?
  • 嗯...你是说我需要一个数据库的列来存储 sluggified 名称吗?
  • @GuilhermeOderdenge,他是。有一个SluggifiedName 列,其中包含...“Sluggification”(呃)的结果,并使用它进行搜索。
  • 首先如何创建 sluggified 名称?
  • @D.R.我正在使用一种方法(你想看吗?)

标签: c# mysql asp.net-mvc-4 slug


【解决方案1】:

你基本上有两个选择:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2010-12-25
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 2011-10-03
    • 2016-08-08
    • 2017-01-26
    相关资源
    最近更新 更多