Laravel当前路由名称包含
我有一组这样的路线:Laravel当前路由名称包含,laravel,Laravel,我有一组这样的路线: Route::group(['prefix' => 'messages'], function () { Route::post('/', ['as' => 'messages.store', 'uses' => 'MessagesController@store']); Route::get('{id}', ['as' => 'messages.show', 'uses' => 'MessagesController@show
Route::group(['prefix' => 'messages'], function () {
Route::post('/', ['as' => 'messages.store', 'uses' => 'MessagesController@store']);
Route::get('{id}', ['as' => 'messages.show', 'uses' => 'MessagesController@show']);
Route::put('{id}', ['as' => 'messages.update', 'uses' => 'MessagesController@update']);
Route::get('{id}/read', ['as' => 'messages.read', 'uses' => 'MessagesController@read']); // ajax + Pusher
});
在我的侧栏中,我想突出显示用户单击以下任一路线时所处的区域:
<li class="d-flex flex-column {{ (Route::currentRouteName() == 'messages') ? 'active' : '' }}">
如果路由为“消息”,则此操作将起作用。有没有我可以像Route::currentRouteNameContains那样做的地方。。。显然,这不是Laravel方法,但如果它包含消息,如何激活它?请参见帮助器函数
请注意,即使路由是/user/chat/messages/unread
,也会返回true,这可能不是您想要的
你可以看看
Laravel 6用户
辅助功能不再随默认安装一起提供
你需要安装这个软件包
希望这对您有所帮助您也可以使用getPrefix()helper函数
{{ request()->route()->getPrefix() === '/messages' ? 'active' : '' }}
您也可以使用路线立面来执行此操作。结果将与第一个相同
{{ Route::current()->getPrefix() === '/messages' ? 'active' : '' }}
或者组合basename()如下所示
{{ basename(request()->route()->getPrefix()) === 'messages' ? 'active' : '' }}
money@Caddy第一个对我有用,但我得等10分钟才能接受。
{{ basename(request()->route()->getPrefix()) === 'messages' ? 'active' : '' }}