Верно, все изолировано в общем случае
Это и минус и плюс, плюс — простота, минус — "каждый раз" одно и тоже и тратить на это каждый раз отдельные ресурсы
// Remove all of the global scopes...
User::withoutGlobalScopes()->get();
// Remove some of the global scopes...
User::withoutGlobalScopes([
FirstScope::class, SecondScope::class
])->get();
public function supports(Request $request, ArgumentMetadata $argument)
{
// парочка проверок
// проверим, что доктриновская сущность
return ! $this->em->getMetadataFactory()->isTransient($argument->getType());
}
Ну и можно по приоритетам разгрести, или через CompilerPass проверить нужный интерфейс у резолверов, тот что важнее должен содержать некий признак и тогда его вперед выставлять... ну так, на ходу прикидываю варианты :)
Не понял в чем именно проблема, сделайте кастомный нормалайзер, реализуйте метод denormalize()
В нем возьмите все данные и спокойно превратите в нужны объект. это сервис, в него можно передать репозиторий...
Говнокод -- потому что контроллер этим занимается, а само занятие назвается денормализацией :) Ну и еще денормалайзер можете научить работать через рефлексию, потому лишние сеттеры не нужны будут...