【发布时间】:2020-11-08 03:42:10
【问题描述】:
除了对两种用户类型使用两个配置文件控制器之外,是否可以使用一个控制器和两种不同的方法来显示每种用户类型的配置文件?
目前只有申请人路线有效,但如果切换顺序,另一条显示404 | Not Found。
Route::get('/accounts/{applicant}', 'ProfileController@applicant');
Route::get('/accounts/{employer}', 'ProfileController@employer');
class ProfileController extends Controller
{
public function applicant(Applicant $applicant)
{
return view('applicant.show', compact('applicant'));
}
public function employer(Employer $employer)
{
return view('employer.show', compact('employer'));
}
}
【问题讨论】:
-
不可能
-
问题是 URL 看起来像
/accounts/10,如果你的申请人和雇主都有相同的 ID,你就无法区分。如果您不能拥有相同的 ID,那么您可能只有一个操作和分支,具体取决于您获得的 ID 类型 -
实际上可以使用路由参数匹配,但是如果您没有明显不同的参数格式,即。你对两者都使用 id 然后你不能这样做。 laravel.com/docs/7.x/…。你甚至可以调整 laravel 对特定模型的路由模型绑定方式,所以即使是控制器在理论上也是可能的
-
参数匹配就是答案,OP使用不同的参数:)
-
确实如此,这是不可能的。谢谢大家的答案! :)