У меня много репозиториев, и я часто использую такие методы, как findOneBySomeField, findByAnotherField. Этих методов нет в классе репозитория, но Doctrine может с ними нормально работать.
И вот в чем проблема: поскольку этих методов нет в классе репозитория, нет подсказок для аргументов и типы возвращаемых данных.
Я пытался добавить немного PHPSTORM_META, например:
Код: Выделить всё
namespace PHPSTORM_META {
override(
App\Repository\MyEntityRepository::findOneByCode(0), map([
'' => 'App\Entity\MyEntity'
])
);
}
Но это не работает. Более того, даже если я смогу заставить это работать, мне нужно вручную добавить все возможные методы для findBy... и findOneBy.... Но у меня есть десятки (более 50 в некоторых объектах) полей в некоторых объектах, поэтому мне нужно слишком много директив переопределения. И я до сих пор не вижу способа добавить подсказки для аргументов. Теоретически это возможно, потому что если в моей сущности есть строка $code, у меня должен быть findOneByCode(string $code) (тип аргумента должен совпадать с типом поля сущности) и так далее.
Есть ли простой способ сделать это?
Подробнее здесь:
https://stackoverflow.com/questions/783 ... n-phpstorm