Laravel + Vue - но это не принципиально для вопроса
Как правильно (лучшие практики) формировать формы создания/редактирования в SPA приложении при наличии в формах элементов выбора с данными из разных таблиц БД?
Например в форме Пользователей нужны поля с выбором роли / компании / города / и т.д. Соответственно при показе формы надо подгрузить данные для этих селектов.
В не SPA приложениях я использовал Create - Edit методы в контроллерах и возвращал сверстанные Blade со всеми данными.
В SPA же бекенд выступает как api, и при регистрации маршрутов
// routes\api.php
Route::apiResource('users', 'UserController');
создаются только маршруты index, store, destroy, update, show - что наталкивает на мысль, что как то иначе надо данные для форм получать.
Варианта 3:
1: Использовать старый способ и добавлять в контроллер методы Create и Edit, и возвращать в них все нужные для форм данные (почему тогда по умолчанию эти маршруты не добавили в api контроллеры)
2: Для каждого селекта делать отдельный запрос для получения списка вариантов в соответствующий контроллер (слишком много запросов).
3: Использовать к примеру Vuex и хранить все необходимые данные в store, загрузив их при первой необходимости (но как тут быть если к примеру изменился список ролей, а при открытии формы данные о Ролях в store будут устаревшими)