artem
Сорри что напряг. Пойду немного приведу себя в порядок.
artem
День компьютерщика вроде. Жене не нравится почему-то😢
Alexander
День компьютерщика вроде. Жене не нравится почему-то😢
Жена хотела видимо день св. Валентина, а ты ей день компьютерщика 😅😅😅
artem
Загнан. Пойду спать
Anonymous
А как чекбоксы в форме указать?
Anonymous
Gas
а если вместо collectiontype сразу choicetype
Anonymous
Все дошло
Anonymous
спасибо
Anonymous
Anonymous
Вот нужно было так
Gas
ага
Гречушников
Гречушников
Надо записать
Alexander
Таким образом сейчас аккаунтов в телеграмме стало на несколько лямов больше)
Anonymous
)))
Anonymous
Если кому интересно, то вышел официальный русский перевод книги Фабьена про Симфони 5 - https://leanpub.com/symfony5-bystryj-start Давайте поддержим его, хоть так можно задонатить ему за отличный опенсорс.
Jonny
👍🏻👍🏻👍🏻
Gas
как правильно добитбся удаления записи в ее preUpdate?
Gas
на самом деле мне нужно после валидации формы просмотреть одну колеккцию и вынести вердикт по каждому элементу - какой то не вставлять, какому то позволить измениться, а какой то удалить. как лучше это реализовать?
Alexander
По моему это пихать в preUpdate плохая идея, все манипуляции нужно провести до заноса в таблицу.
Gas
В агрегате и делай свой вердикт
ссылку бы на пример, пржалуйста
Gas
пока оно в отдельном классе слушателе (onFlush) и работает.
Gas
упрощенно, как удалить и изъять managed entity?
Gas
кажется доехал... if ($form->isSubmitted() && $form->isValid()) { // $eventManager->addEventListener( // [Events::onFlush, Events::prePersist, Events::preUpdate], // new ProductVariablesListener($product, $request->getClientIp()) // ); foreach ($product->getProductChangedVariables() as $pcv) { if ($pcv->isSameAsStored()) { $product->removeProductChangedVariable($pcv); } } $entityManager->flush();оно?
Gas
сейчас это ьак принципиально?
Gas
я задал простой вопрос, на что получил ответ 1. не делай так, 2. в агрекэгате выноси свой вердикт. какой агрегатор? как делать?
Gas
вместо того что б объяснить как достать записи и как их удалить между валидацией формы и flush, внятного совета нк получил
Gas
там старый код закоментирован. что б понятно было, как оно было и работало, и как стало и вроде раюотает
Gas
в коде просто перебирается коллекция от product и выносится вердикт по каждому элементу. где оно сейчас находится, мне не принципиально. принципиально, правильно ли перебирается уоллекуия и что я упустил
Gas
может все эта хрень долдна выполняться в каком нибудь специальном хуке. знаете - поделитесь.
Gas
зато куча советов как не писать логику в конролере, спасибо чо
Gas
entityManager не загнется?
Maxim Kainov
Gas
что то мне подсказывает, что flush их снова добавит
Gas
либо выполнит холостые апдейты
Vadim
что то мне подсказывает, что flush их снова добавит
Не разговаривай с больной фантазией больше. Читай документацию.
Gas
будет выполнен запрос на апдейт записей, которые могут быть удалены в ручную
Gas
да ладно. при выпонении dql на удаление нескольких записей, $em detachит их?
Gas
да, действительно повторных Delete не происходит. как быть с объектами, которые только добавлены в коллекцию, но не сохранены. (persist на них происходит после моего запроса на их удалкние.
Gas
$product->removeCollectionItem($notPersistedItem) ?
Gas
Объекты моей коллекции (таблицы Б) - это копия существующих (объекты таблицы А - в нее писать нельзя). соответственно, в Б сохранены только изменения. для построения формы, я добираю в Б недостающие. после валидации формы - в Б остаются, только отличные от А.
Gas
Зачем это все? Имеющий на это право переносит Б в А после проверки.
Gas
persist($item) до моего DELETE положения не спасает. к моменту выполнения DELETE $item, хоть и managed (судя по докам) и имеет данные в обоих ключевых полях, всe равно попадает в insertionSet
Gas
если не хуя не понятно, то перечитай
Dmitry
if(!$collection->contains($object)) { $collection->add($object) } и $collection->filter() спасут отца русской демократии зачем доктрину напрягать?
Gas
все ясно, значит перед flush, нужно их самому удалить
Гречушников
Ну вы блин даете
Maks
https://dry-python.org/
Maks
что то подобное есть под пых?
Maks
по ссылке dsl для описание бизнес логики на питоне
Alexey Mishurovskiy
Всем привет! кто может помочь по swagger и nelmio ?
Гречушников
ну по сваггеру еще может кто то и поможет, но второй сервис блзится к нулю
Alexey Mishurovskiy
ну по сваггеру еще может кто то и поможет, но второй сервис блзится к нулю
ну сейчас это скорее просто обертка вокруг сваггера
Alexey Mishurovskiy
просто не могу понять как к контроллеру правильно сущность подвязывать,
Alexey Mishurovskiy
* @SWG\Parameter( * name="Data", * in="body", * @SWG\Schema(type="object", ref=@Model(type=Object::class, groups={"api1"})) * )
Гречушников
врятли кому то не лень начать разбираться в том в чем вы не разобрались и как то помочь
Alexey Mishurovskiy
врятли кому то не лень начать разбираться в том в чем вы не разобрались и как то помочь
я поэтому и спросил, кто работал с ними. если человек работал, ему не надо ни ч сем разбираться..
Dmitrij
Привет комрады. Нужна помощь, подскажите, какая конструкция в Симфе заменяет ларковый app()->make('service') ?
Vadim
Автовайринг используй
Vadim
Ну если очень хочется сделать плохо, то ContainerInterface $container; $container->get(Service::class)
Dmitrij
Ну если очень хочется сделать плохо, то ContainerInterface $container; $container->get(Service::class)
тут не то чтобы хочется, просто в этом месте по другому никак, спасибо
Кирилл
ну и public: true в конфигурации Service::class
Vadim
Кстати, да. Но зависит от версии.
Dmitrij
4
Vadim
Тогда public:true, иначе он не будет доступен из контейнера
Dmitrij
ага, спасибо
Dmitrij
пока для меня тяжеловато тут, ибо в ларке всё понятно )
Гречушников
ребят, подскажите пож.
Гречушников
return Validation::createValidator()->validate($settings, $constraint); можно как то в констранте проверить подклюение к сервису, на основе переданных settings
Гречушников
чтобы вернуть ошибку
Гречушников
я думал на это new Assert\Callback() но это можно вешать на конкретное поле
Гречушников
'fields' => [ 'account_url' => [ new Assert\Callback() ], ],
Гречушников
сейчас получается у меня валидация данных может один формат ошибок отправить, а если ошибка подключения - другой формат (я просто строкой ошибку отдаю) хотелось бы как то все стандартизировано
Кирилл
суть неясна. есть Constraint Если это самописный констрейнт то в нем можно что угодно делать.