我在一个网站上工作,我在Lumen框架中构建。 我的问题是路由。它的工作原理与现在一样,但我希望网址看起来更好。
代码:
routes.php文件
Raw
WorkController.php
$app->get('/work/{id}', 'WorkController@getWork');
它是一个类似投资组合的网站,我想通过它的id获取一个特定的db-post。
但我希望网址看起来更好。现在网址看起来像:public function getWork($id) {
$project = DB::select("SELECT * FROM projects where id = $id");
return view('work.index')->with('project', $project);
}
其中2是id。我怎样才能使用db-posts title字段作为url?
答案 0 :(得分:0)
您可以在项目表的每一行中存储urltitle列。这将保存项目的String标识符。例如,您可以将项目标题转换为小写,并用短划线替换每个空格。 (你还需要处理特殊字符)
您的路线如下:
$app->get('/work/{urltitle}', 'WorkController@getWork');
您的查询将如下所示:
public function getWork($urltitle) {
$project = DB::select("SELECT * FROM projects where urltitle = $urltitle");
return view('work.index')->with('project', $project);
}
新网址的示例为www.mysite.com/work/my-first-project
。
希望有所帮助。