Maxim Kainov
Сергей
Привет всем, у меня шторм неправильно подчёркивает ошибки и неиспользуемые элементы. Не помните где там настройка всего этого дела находится?
Daria
Сергей
Daria
Сергей
Не. Всё равно какие-то артефакты остаются, когда вносишь изменения.
Юра
У тебя в настройках пхп стоит 7?
Сергей
конечно
Сергей
он как будто запоминает ошибки и после исправления их не убирает
Юра
У меня было такое
Юра
Помогало удалить этот кусок кода и вставить снова
Юра
Скорее всего какой-то глюк AST дерева кода
Dmytriy
Всем добрый день, подскажите пожалуйста как прописать двойную связь есть "клиент" и он связан с "продуктами" много ко многим, и он связан с конкретным "магазином", "Продукты" связаны с "магазином". Хочу чтоб "клиент" мог выбрать только "продукты" в своем "магазине" сейчас может во всех.
Dmytriy
Речь идёт о doctrine.
Dmitry
Dmytriy
Продукт этот контракт. Одним словом нужно.
Юра
Юра
Вопрос как выбрать только продукты из конуретного магазина?
Dmytriy
Как выбрать понятно как задать ограничение двойное именно при объявлении. Поля продукт в покупателе. Чтоб в форме позволяло выбрать только товары из одного продавца Ане всех.
Юра
Смотри доку по формам
Юра
Там есть возможность в квери билдер условие добавить
Юра
Или свой квери билдер передать не помню точно
Dmytriy
по докам понятно и сам смогу сделать проверку и форму нарисовать - но так красиво сам выберает все поля symfony - не верю^ что нельзя спомощю реляций организовать.
Maxim Kainov
Юра
В чем проблема напиши геттер который вернет тебе нужные товары
Юра
Я уже писал тут что ты можешь отфильтровать коллекцию
Юра
Средствами бд в твоем геттере
Юра
И повесь форму на твой геттер
Юра
Должно сработать
Андрей
Maxim Kainov
Ты по ходу чат перепутал )
Nick
конечно могут, ща напишут, жди
Юра
Покажи сначала свой код
Юра
Вдруг там не на что смотреть )
Сергей
Привет. Решил выкинуть hautelook/alice и заменить фикстуры в декларативном виде на фикстуры в классах.
Подключаю фикстуры, используя liip/test-fixtures-bundle.
И столкнулся с проблемой, что ничего не могу заинжектить в фикстуру, т.к в var/cache/test создаётся файлик где эти фикстуры создаются через new без параметров. Соответственно возникает ошибка.
Всё перерыл, пишут что фикстуры это сервисы и в них всё должно нормально инжектиться.
Dmitriy
Всем привет. Нужно создать воркер который можно будет запускать через супервизор. Есть понимание как сделать собственную консольную команду, логика воркера тоже есть. Проблема возникла в работе с бд. Есть идея заинджектить репозиторий в воркер, но не понятно как это сделать в симфонии и будет ли верно такое решение
Понимание того как работать с бд через контроллер тоже есть.
Если у кого-то есть решение такой проблемы, готов оплатить консультацию
Daria
Слава
Aleksandr
Юра
https://symfony.com/doc/current/console.html#getting-services-from-the-service-container
Daria
Всем привет. Нужно создать воркер который можно будет запускать через супервизор. Есть понимание как сделать собственную консольную команду, логика воркера тоже есть. Проблема возникла в работе с бд. Есть идея заинджектить репозиторий в воркер, но не понятно как это сделать в симфонии и будет ли верно такое решение
Понимание того как работать с бд через контроллер тоже есть.
Если у кого-то есть решение такой проблемы, готов оплатить консультацию
У тебя в config/services.yaml (если это SF4+) прописаны настройки, что твои классы src/*, кроме нескольких, являются сервисами и поэтому тебе не нужно дополнительно что-то делать, чтобы заинжектить репозиторий в консольную команду, за тебя контейнер все создаст. Прописываешь явно конструктор в своей команде, пишешь __construct(..., SomeRepository $somerepo) {..., внутри дергаешь parent::__construct(...), три точки это другие параметры конструктора. В супервизоре ты тоже пропишешь команду как php bin/console your:command, т.е. тебе не надо что-то дополнительно делать, лишь бы она запускалась
Dmitriy
У тебя в config/services.yaml (если это SF4+) прописаны настройки, что твои классы src/*, кроме нескольких, являются сервисами и поэтому тебе не нужно дополнительно что-то делать, чтобы заинжектить репозиторий в консольную команду, за тебя контейнер все создаст. Прописываешь явно конструктор в своей команде, пишешь __construct(..., SomeRepository $somerepo) {..., внутри дергаешь parent::__construct(...), три точки это другие параметры конструктора. В супервизоре ты тоже пропишешь команду как php bin/console your:command, т.е. тебе не надо что-то дополнительно делать, лишь бы она запускалась
спасибо, сейчас попробую
Dmitriy
У тебя в config/services.yaml (если это SF4+) прописаны настройки, что твои классы src/*, кроме нескольких, являются сервисами и поэтому тебе не нужно дополнительно что-то делать, чтобы заинжектить репозиторий в консольную команду, за тебя контейнер все создаст. Прописываешь явно конструктор в своей команде, пишешь __construct(..., SomeRepository $somerepo) {..., внутри дергаешь parent::__construct(...), три точки это другие параметры конструктора. В супервизоре ты тоже пропишешь команду как php bin/console your:command, т.е. тебе не надо что-то дополнительно делать, лишь бы она запускалась
верно?
Daria
так это же не консольная команда
Зачем экстендить Сервис из Контроллера?
Daria
основная идея правильная, но пример сильно расходится с тем, что ты рассказывал в самом первом вопросе)
Unreal
Метод handle теоретически должны иметь хандлеры, а не сервисы...
Aleksandr
сервис из контроллера, интересно 😂
Maxim Kainov
Maxim Kainov
Делаю так: AbstractUseCase extends AbstractController
Maxim Kainov
А потом в контроллерах инжекчу юзкейсы
Dmitriy
Всем спасибо кто отвечал, вот итоговый результат. Это то что мне нужно было.
Сергей
Если это обычные доктриновские фикстуры, то там должно все нормально инжектиться) или это не они?
Да обычные доктриновские. Только загружаются с помощью Liip\TestFixturesBundle
6) App\Tests\Functional\Admin\EmittentAdminTest::testCreate
ArgumentCountError: Too few arguments to function App\DataFixtures\Admin\AdminUser\PredictorUserFixture::__construct(), 0 passed in /app/var/cache/test/ContainerOo0UMTL/getDoctrine_Fixtures_LoaderService.php on line 28 and exactly 1 expected
Александр
Доброе утро, коллеги.
Кто знает как перехватить перенаправление на страницу логина, в том случае если неавторизованый юзер пытается попасть в закрытое пространство?
Александр
Моя цель это сделать свою обработку этого перенаправления и выдать ошибку 404, как будто страницы не существует. Я знаю как сделать это в каждом отдельном контроллере, но хочется централизовано решить проблему
Сергей
guard + определить start()
Anonymous
Да забаньте бота уже))))
Maks
Anonymous
Aleksandr
пусть в муте посидит
Dmitriy
Мне нужно сохранить объект в поле бд field_name, для этой цели сделал объект dto FieldNameDto. При создании entity, выбрал тип поля object. Сейчас хочу в entity для поля field_name указать тип FieldNameDto. Подскажите, это верный подход или есть решения получше?
Юра
Да нормально
Юра
Я обычно правда массивы сохранял а не объекты
Юра
Но наверное ничего ужасного нету
artem
Всем привет. Есть сущность в которой есть коллекция с периодами. Есть фильтр на период, допустим сегодня. И вроде по sql все нормально отрабатывает проверял в ппофайлере. Дальше fos rest возвращает правильные сущности в которых есть эта дата, но кроме них остальные элементы коллекции. Вот как исключить как раз все не подходящие элементы из коллекции периодов
Юра
Юра
А как ты выбираешь коллекцию?
Daria
а что этот мужик говорил в видео?)
Юра
Очень интересно но них.. не понятно
Daria
Dmitriy
Ребят, кто знает в чем может быть проблема: не могу подключить EntityManager в класс. При сохранении данных пишет ошибку: Cannot autowire service "App\Command\CreateUserCommand": argument "$em" of method "__construct()" references class "Doctrine\ORM\EntityManager" b
ut no such service exists. Try changing the type-hint to "Doctrine\ORM\EntityManagerInterface" instead.
Юра
Исправь на EntityManagerInterface
Сергей
Блин, там же в самой ошибке все написано
Юра
Многабукав
Юра
Хотя я сам часто не дочитываю ошибки до конца
Dmitriy
Dmitriy
Кирилл
Атака ботов