Я хочу передать некоторые пользовательские данные в представление, чтобы оно отображалось на странице профиля. Это довольно много, но я не хочу просто передавать все, потому что есть некоторые вещи, к которым у представления не должно быть доступа. Таким образом, мой код выглядит так:Получите заданные свойства модели все сразу в Laravel
return view('profile', [
'username' => Auth::user()->username,
'email' => Auth::user()->email,
'firstname' => Auth::user()->firstname,
'country' => Auth::user()->country,
'city' => Auth::user()->city->name,
'sex' => Auth::user()->sex,
'orientation' => Auth::user()->orientation,
'age' => Auth::user()->age,
'children' => Auth::user()->children,
'drinking' => Auth::user()->drinking,
'smoking' => Auth::user()->smoking,
'living' => Auth::user()->living,
'about' => Auth::user()->about,
]);
Мой вопрос: можно ли это написать короче/проще?
Спасибо!
EDIT:
Я не хочу этого: {{ Auth::user()->firstname }}
, потому что есть логика в представлении, что плохо - я думаю, там должно быть только простые переменные, которые будут отображаться в а не что-то еще.
Так что я искал что-то вроде:
return view('profile', Auth::user()->only(['firstname', 'email', ...]));
Можете ли вы не просто передать пользователю ... например. return view ('profile', ['user' => Auth :: user()]), а затем в вашем представлении {{$ user-> usernmae}}, это, как правило, более чистый способ передать весь объект по определению каждого поля –