微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel具有相同端点但具有多个模型的模型绑定

如何解决Laravel具有相同端点但具有多个模型的模型绑定

我面临着解决具有两个不同模型的模型绑定的挑战:

Route::get('/{community:slug_url}/events','Community\CommunityController@events')->name('communityEvents');

Route::group(['prefix' => '{user:username}'],function ($username) {
    Route::get('events','Events\EventController@listEvents')->name('events');
});

它在第一条路线上有效,但在第二条路线上失败404 |找不到。

我了解了显式模型绑定,这里是代码,但不确定我还缺少什么

Route::bind('user',function ($value) {
    return User::where('username',$value)->firstOrFail();
});

Route::bind('community',function ($value) {
    return Community::where('slug_url',$value)->firstOrFail();
});

还要在各个模型中进行以下设置:

Model **User**
public function getRouteKeyName()
{
    return 'username';
}

Model **Community**
public function getRouteKeyName()
{
    return 'slug_url';
}

任何帮助表示赞赏。 谢谢,

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。