Laravel - 类别为 url 段,类别属于许多
Laravel - categories as url segments, category belongs to many
我正在创建一个用户可以拥有一个专长的应用程序。
用户可以在后端创建分配给他专业的帖子,并且必须将其关联到一个类别。
我想知道当医生和律师可以使用相同类别时如何管理类别,而不显示类别相同的所有专业的所有帖子。
实际上:
用户有一项专长
专业有很多分类
类别属于多个专业
我认为我必须创建一个像 category_speciality 这样的枢轴,如 Laravel 文档中针对多对多关系所解释的那样。
但是后来我不知道如何使用专业类别来构建专用查询和 url。
任何帮助都会很棒!
对于 URL 你可以这样做:
web.php
Route::get('/articles/{category}/{specialty}', [
'uses' => 'PostController@index',
'as' => 'posts.index'
]);
其中 {category}
和 {specialty}
是其标题的唯一 slug
字段。这将导致例如example.com/articles/deep-sea/fishing
.
后控制器
public function index($categorySlug, $specialtySlug)
{
$specialty = Specialty::where('slug', '=', '$specialtySlug')->first();
$posts = Posts::where('specialty_id', '=', $specialty->id)->get();
return view('posts.index', compact('posts'));
}
这是假设您在帖子 table 中有 specialty_id
并且您已建立正确的关系。
这只是一个例子。
我正在创建一个用户可以拥有一个专长的应用程序。 用户可以在后端创建分配给他专业的帖子,并且必须将其关联到一个类别。
我想知道当医生和律师可以使用相同类别时如何管理类别,而不显示类别相同的所有专业的所有帖子。
实际上:
用户有一项专长
专业有很多分类
类别属于多个专业
我认为我必须创建一个像 category_speciality 这样的枢轴,如 Laravel 文档中针对多对多关系所解释的那样。 但是后来我不知道如何使用专业类别来构建专用查询和 url。
任何帮助都会很棒!
对于 URL 你可以这样做:
web.php
Route::get('/articles/{category}/{specialty}', [
'uses' => 'PostController@index',
'as' => 'posts.index'
]);
其中 {category}
和 {specialty}
是其标题的唯一 slug
字段。这将导致例如example.com/articles/deep-sea/fishing
.
后控制器
public function index($categorySlug, $specialtySlug)
{
$specialty = Specialty::where('slug', '=', '$specialtySlug')->first();
$posts = Posts::where('specialty_id', '=', $specialty->id)->get();
return view('posts.index', compact('posts'));
}
这是假设您在帖子 table 中有 specialty_id
并且您已建立正确的关系。
这只是一个例子。