CRUD API и разделение сущностей

136
30 июня 2019, 12:10

У меня есть таблицы со связью многие ко многим

People -> label_person <- Labels

Имеется контроллер PersonController с CRUD внутри для работы с таблицей People. В этом же контроллере есть ещё один метод - sync_labels для синхронизации меток с таблицей label_person.

public function sync_labels(Person $person, Request $request): LabelCollection
{
    $person->labels()->sync($request->input('label_ids', []));
    return new LabelCollection($person->labels);
}

С контроллером этим работаю по API. И есть пару вопросов у меня

  1. Допустимо ли в контроллере PersonController размещать метод sync_labels, который имеет не прямое отношение к сущности Person?
  2. Что метод sync_labels должен возвращать в качестве ответа? Только labels, как у меня в коде выше? Или же Person с его labels? Т.е. только как бы "затронутые данные"?
  3. Нужно ли разделять методы? Сейчас у меня по факту два метода update - сам update для таблицы People и отдельный update для таблицы label_person. Нужно ли объединять их в один? Вопрос тесно связан со вторым вопросом - какой должен быть ответ?
READ ALSO
Роутинг в веб приложении

Роутинг в веб приложении

Мой вопрос следующий

97
Как выбрать вхождения из строки по меткам begin и end?

Как выбрать вхождения из строки по меткам begin и end?

Есть файл с метками, который определяет структуру документаНапример:

139
Хранение статей

Хранение статей

Возник вопрос с сохранением статейДопустим мне нужно сохранить статью в БД

106
запуск php-src в отладчике

запуск php-src в отладчике

Хочу запустить примерно такой код из php-src в отладчике Clion:

117