Я разрабатываю веб-приложение с использованием Laravel Nova. Nova - довольно новая система CMS для Laravel. Что у меня сейчас возникают проблемы с отношениями "многие ко многим" и представлением данных.
У меня есть таблица пользователей со следующими данными
users - id, name, email, role
Затем у меня есть таблица отделов со следующими данными.
departments - id, name, code
У них есть отношения "многие ко многим" с такой сводной таблицей.
departments_users - id, department_id, users_id
В ресурсе пользователя, если я добавил это в метод полей
public function fields(Request $request)
{
return [
ID::make()->sortable(),
//other fields
BelongsToMany::make("Departments")
];
}
Поскольку я добавил BelongsToMany в ресурс User, если я перейду на страницу сведений о пользователе, я увижу что-то вроде этого.
В основном я имею в виду возможность отображать список отделов пользователей и возможность прикреплять отделы к пользователю. Но я не хочу постоянно отображать этот параметр / список. Я хочу отображать его только в зависимости от роли. Я имею в виду что-то подобное в методе полей. Пожалуйста, прочтите комментарий в следующем коде.
public function fields(Request $request)
{
return [
ID::make()->sortable(),
//other fields
BelongsToMany::make("departments")//Do this only if the user role is "staff"
];
}