Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
У меня есть таблички `users` и `user_groups`, и в `user_groups` есть колонка `access_level`
Сейчас у меня `routes/web.php` выглядит вот так:
Route::group(['middleware' => 'auth'], function()
{
Route::get('/points', 'PagesController@points');
Route::get('/users', 'PagesController@users');
Route::get('/users/groups', 'PagesController@user_groups');
Route::resource('point', 'PointController');
Route::resource('user', 'UserController');
Route::resource('users/group', 'UserGroupController');
});
Auth::routes();
Route::get('/logout', 'Auth\LoginController@logout')->name('logout');
Как можно в `routes/web.php` распределить доступ к роутам в зависимости от значения `access_level` конкретного пользователя (залогиненного)?
Я хотел получить `access_level` перед группой роутов в middleware, но взять это значение не получается в связи с особенностями Laravel:
use App\UserGroup;
$access_level = UserGroup::find( auth()->user()->group_id )->access_level;
Route::group(['middleware' => 'auth'], function($access_level)
{
if ($access_level == 1) {
Route::get('/points', 'PagesController@points');
Route::get('/users', 'PagesController@users');
Route::get('/users/groups', 'PagesController@user_groups');
Route::resource('point', 'PointController');
Route::resource('user', 'UserController');
Route::resource('users/group', 'UserGroupController');
}
});
В таком случае выдает ошибку: `Trying to get property 'group_id' of non-object`
Можно ли как-то взять значение `access_level` из таблички перед группой роутов или может в Laravel есть какой-то другой метод специально для этого?
почитай уже доку
В доках описание общее и примеров почти нет, бесполезное занятие (написано ленивыми разработчиками)
Вот тут все мужик грамотно объяснил, все теперь получилось! Спасибо
Пользователи-то зарегистрированные есть?
Конечно есть
А в общем виде, для этого служит View Composer.
А как его во view отлавливать? В доках не упомянули..
Shared variable не совсем то, что нужно в этом случае?
Auth::user()
Auth::user()->id выдает ошибку: "Trying to get property 'id' of non-object"
Лару начал осваивать не так давно, но вот никак не могу найти рабочий пример для последней версии, чтобы задать переменную с данными аутентифицированного пользователя для всех blade шаблонов Примеров много, но везде какой-то фарш или костыли или для старых версий, а нормального рабочего примера с нормальным пояснением я еще не нашел.
у меня есть табличка `users` и `user_groups`, и я хочу задать переменную с данными залогиненного пользователя и юзать везде в шаблонах, и не прописывать это в каждом контроллере отдельно.
Помогите пожалуйста!
Страницы 1