我正在创建一个用户可以具有一种专业的应用程序。 用户可以在后端创建分配给他的专业的帖子,并将其关联到一个类别。
我想知道当医生和律师可以使用同一类别,而不显示类别相同的所有专业的所有帖子时,如何管理类别。
实际上:
用户只有一种专长
专业有很多类别
类别属于许多专业
我认为我必须创建一个像category_speciality这样的数据透视表,如Laravel文档中针对多对多关系所述。 但是后来我不知道如何使用专业类别来构建专用的查询和网址。
任何帮助都会很棒!
答案 0 :(得分:0)
对于URL,您可以执行以下操作:
web.php
Route::get('/articles/{category}/{specialty}', [
'uses' => 'PostController@index',
'as' => 'posts.index'
]);
其中{category}
和{specialty}
是其标题的唯一slug
字段。这将导致例如example.com/articles/deep-sea/fishing
。
PostController
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'));
}
假设您在“帖子”表中有specialty_id
,并且您建立了正确的关系。
这只是一个例子。