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