#laravel-7
#laravel-7
Вопрос:
Я искал способ передать массив всему моему приложению laravel 7, которое будет доступно в контроллере, представлениях и моделях.
В настоящее время я могу поделиться некоторой переменной, расширив контроллер laravel следующим образом
class BaseController extends Controller
{
public function __construct()
{
//its just a dummy data object.
$user = User::all();
// Sharing is caring
View::share('user', $user);
}
}
но это работает только для представлений.
Есть ли лучший способ передавать данные на все контроллеры?
Идея заключается в том, чтобы для каждого пользователя, когда зарегистрированный набор данных (например, валюта и другие пользовательские настройки) будут извлечены из базы данных и будут доступны для всех контроллеров.
Ответ №1:
Ваш вопрос не совсем ясен, но лично для того, чтобы связать информацию со всеми пользователями, я создаю функции непосредственно в своей модели или в своем классе, например, отношения:
class User extends Authenticatable
{
public function currency() {
return '€';
}
}
Итак, теперь, если я хотел бы вернуть пользовательскую валюту, мне просто нужно сделать
$user->currency()
Комментарии:
1. Я понял вашу точку зрения, но мне нужно решение, с помощью которого я могу передавать массив данных на все контроллеры