В моем проекте я использую Laravel 5.2, и теперь я застрял в этой маленькой проблеме, которую не могу понять, как ее исправить.
Мне нужно поделиться переменной только с подписанными пользователями во всех представлениях. Я знаю, что для этого мне нужно использовать view() -> composer()
, но как?
Куда девался код? Я не могу использовать его в AppServiceProvider, так как метод boot()
запускается до начала сеанса. Я видел, как кто-то рекомендовал использовать промежуточное программное обеспечение для того, что я пытаюсь сделать, но я тоже не могу этого понять. Где бы я написал это новое промежуточное ПО? Где бы я тогда использовал view() -> composer()
?
Немного подробнее: я пытаюсь проверить запросы на добавление в друзья и размещать их на боковой панели пользователей при каждом просмотре, если есть какие-либо запросы.
А мой view composer выглядит так в методе boot()
, но не работает из-за Auth::check()
if (Auth::check()) {
view() -> composer('*', function($view) {
// Check for friend requests
$friend_requests = DB::table('friends')
-> where('user_id_receiver', '=', Auth::user() -> id)
-> where (function($query) {
$query -> where('status', '=', 2);
})
-> get();
$view -> with('friend_requests', $friend_requests);
});
}
Мой макет блейда также довольно прост, я использую только расширения и включения для боковой панели и других вещей.
Если мне нужно что-то уточнить, пожалуйста, скажите. Заранее спасибо.