Возвращение пользовательской переменной в настройках - Laravel Spark

У меня есть настройка Spark, и я создал свой пользовательский вид в меню "Настройки" - "Студенты" (предположим, что пользовательский объект фактически является учителем). Я также создал миграцию и модель студента.

Теперь http://spark.app/settings/students возвращает страницу успешно. На данный момент мне нужно вернуть данные из бэкэнда. Я исследовал Spark\Http\Controllers\Settings\DashboardController@show - это метод, возвращающий представление "настройки", однако он не возвращает никаких данных для просмотра, используя ->with('user', $user)

Но, как упоминалось в Документах, :user="user" :teams="teams" :current-team="currentTeam" уже доступны из коробки.

Где и как Spark возвращает эти значения в /settings? И как сделать так, чтобы мой объект "Студент" также был доступен?


Теперь, если я хочу вернуть свой объект Student во внешний интерфейс, у меня есть 2 варианта.

1) редактировать Spark\Http\Controllers\Settings\DashboardController

2) я думаю Spark\InitialFrontendState это место, где Spark возвращает эти объекты user, команды, currentTeam. Такой подход я впервые увидел, если честно, и я не совсем понял, как он работает.

Так как же мне добиться в Spark чего-то простого:

return view('spark::settings')->with('student', $student);?

1 ответ

Решение

Добавить новый маршрут и настроить свой собственный контроллер и собственный вид

web.php

Route::get('/settings/students', 'SettingsStudentController@index');

SettingsStudentController.php

class SettingsStudentController extends Controller {
    public function __construct() {
        $this->middleware('auth');
    }
    public function index(Request $request) {
            $user          = Auth::user();
            $student = STUDENTCLASS::whatever();
            return view('yourstudentview', ['student' => $student , 'user' => $user]);
    }
}
Другие вопросы по тегам