
Alexander
03.11.2017
12:54:43
А почему это проблема?

Dmitry
03.11.2017
12:55:24

Dinar
03.11.2017
12:55:36

Alexander
03.11.2017
12:56:29

Google

Dmitry
03.11.2017
12:56:40

Dinar
03.11.2017
12:57:16
Используй attr

Dmitry
03.11.2017
12:57:28

Dinar
03.11.2017
12:57:45
Тогда не будешь менять сами данные.
Ну 'attr' => ['group' => 'foo']
Для поля

Alexander
03.11.2017
12:58:23
Кстати, как вариант. Написать extension, который будет кастомную option добавлять по которой можно в нужную группу во вью распределить

Dinar
03.11.2017
12:58:26
И во вьюхе проверяй

Dmitry
03.11.2017
13:00:16
самый лучший вариант конечно с подформами, но там с именами запара

Dinar
03.11.2017
13:01:51
А имена тебя почему смущают?
Ты не средствами симфони их обрабатываешь?

Dmitry
03.11.2017
13:02:27

Google

Dmitry
03.11.2017
13:02:40

Dinar
03.11.2017
13:02:48
Если ты делаешь это с помощью симфони - солхранять очень удобно :)
А в чем причина?
Почему по другому?

Dmitry
03.11.2017
13:04:54
потому что другой фремворк :)
запись придет
['feild'] => 'value'
['sub_form'] => [
'field2' => 'value'
]
а каким будет sub_form я не знаю

Dinar
03.11.2017
13:05:28
Ты используешь формы, но не используешь половину их? :)
Используй сущности
Или просто объекты

Dmitry
03.11.2017
13:05:55
в смысле?

Dinar
03.11.2017
13:06:11
Ну ты знаешь же как в симфони это делается все?

Dmitry
03.11.2017
13:06:59

Dinar
03.11.2017
13:07:27
Само должно мапиться, не?
Если поля верно прописаны

Dmitry
03.11.2017
13:08:31

Dinar
03.11.2017
13:10:10
И для вложенного поля - вложенный объект.
Структура класса должен выглядеть так же.

Dmitry
03.11.2017
13:10:53

Dinar
03.11.2017
13:11:24
Так сделай его.

Dmitry
03.11.2017
13:12:12

Dinar
03.11.2017
13:16:55
О чем я и говорил :)

Google

Dinar
03.11.2017
13:17:33
Почему 500 вьюх у тебя быть не может, но 500 вариаций групп - легко? :)

Dmitry
03.11.2017
13:18:46

Dinar
03.11.2017
13:21:48
Ну сделай array_map на данных многоуровневых и приведи их к одноуровневому.
Пара строчек кода.

Dmitry
03.11.2017
13:25:20

Alexandr
03.11.2017
13:43:22
подскажите, плиз, как в доктрине такое провернуть?
$this
->createQueryBuilder('u')
->where("u.roles @> '{ROLE_ADMIN}'")
ругается
Error: Expected =, <, <=, <>, >, >=, !=, got '@'

Sergey
03.11.2017
13:43:50
подскажите, плиз, как в доктрине такое провернуть?
$this
->createQueryBuilder('u')
->where("u.roles @> '{ROLE_ADMIN}'")
ругается
Error: Expected =, <, <=, <>, >, >=, !=, got '@'
никак, ты можешь только кастомные функции добавить
есть готовый набор функций для постгреса и json
ну или юзай dbal

Alexandr
03.11.2017
13:44:38
спс)

Evgenij
03.11.2017
13:59:45
всем привет, как сейчас на симфони практикуется создание таблиц и актуализация бд, через ентити и просто командой doctrine:schema:update или через миграции ?

Dmitry
03.11.2017
14:01:18
Миграции

Alex
03.11.2017
14:02:13

Dmitry
03.11.2017
14:02:49
Тем более если нужно перенести данные между колонками/таблицами

Evgenij
03.11.2017
14:03:45
через миграции наверное надежней, я вот просто думаю что через обновление схемы это уж слишком много работы доверить доктрину

Dmitry
03.11.2017
14:04:55
doc:mig:diff

Alex
03.11.2017
14:05:06

Evgenij
03.11.2017
14:07:14
проблемы нет, просто привык к миграциям и интересо насколько надежен подход через обновление бд на основе только маппингов

Alex
03.11.2017
14:14:53
Ну как по мне миграция - это универсальное решение, но если проект не сильно большой то можно и схемой обойтись. (Лично мое мнение)

Andrey
03.11.2017
14:35:17
Ребят, может кто прояснит. Как нормально хендлить случаи с клонированием сущностей (с доктриной)?
Если делать обобщённую реализацию __clone в абстрактном классе, и клонить через get_object_vars() (рекурсия для объектов, обход для массивов), то есть вариант рекурсии без выхода для bi-directional связей.
А если не реализовывать, то, как я заметил, внутренние объекты не клонятся (дефолт поведение пхп), и опасненько получается.
Сейчас наткнулся на (http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/cookbook/implementing-wakeup-or-clone.html), но не могу вкурить, что они имеют в виду.
Или, может, я неправильно проверял, и он нормально клонит внутренние свойства?

Google

Andrey
03.11.2017
14:36:13
Мне важно вызывать метод апдейта в мои сервисы, куда я прокину $oldDocument, $newDocument. Собственно этого я могу добится через клонирование перед изменением $newDocument

Andrew
03.11.2017
15:46:08
гайз, а кто-то юзал Akeneo PIM?
Ребят, может кто прояснит. Как нормально хендлить случаи с клонированием сущностей (с доктриной)?
Если делать обобщённую реализацию __clone в абстрактном классе, и клонить через get_object_vars() (рекурсия для объектов, обход для массивов), то есть вариант рекурсии без выхода для bi-directional связей.
А если не реализовывать, то, как я заметил, внутренние объекты не клонятся (дефолт поведение пхп), и опасненько получается.
Сейчас наткнулся на (http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/cookbook/implementing-wakeup-or-clone.html), но не могу вкурить, что они имеют в виду.
Или, может, я неправильно проверял, и он нормально клонит внутренние свойства?
https://github.com/myclabs/DeepCopy лучше — __clone кака

Andrey
03.11.2017
15:49:02
юзал, что-то не зашло. Если честно, не помню почему

Evgenii
03.11.2017
15:57:56
тоже пытался в итоге выкинул и в ручную разрулил

Алексей
03.11.2017
16:51:48
Вчера писал по поводу нормалайзера ошибок формы
переписал все наер
https://gist.github.com/Assada/83d350fe4b3ce9154e00232265964bb6

Виктор
03.11.2017
17:04:24

Admin
ERROR: S client not available

Vlad
03.11.2017
17:58:41
@webslon https://github.com/nelmio/NelmioApiDocBundle#configure-the-bundle

Виктор
03.11.2017
17:59:28
да-да - спасибо, я уже наткнулся... просто че-то другое ожидал

Andrew
03.11.2017
18:05:57
Раз речь зашла про документирование апи, в каком формате документируете? (swagger, blueprint, raml)? И расскажите про крутые инструмены для работы с любимым форматом :)
NelmioApiDocBundle - понятно, мож есть альтернативы годные?
призываю @fes0r

Алексей
03.11.2017
18:11:55
Но почему то хочу рамл

Andrew
03.11.2017
18:12:43
под него вроде нету адекватных инструментов для php или все-таки есть?
я про рамл

Vladislav
03.11.2017
19:01:14

Google

Виктор
03.11.2017
19:07:59
С логотипом их
И футер с копирайтом
Пока кручу
Не знаю - может и сойдёт...
Пока не все понял как сделать и все ли мне сгодится как я хочу

Vladislav
03.11.2017
19:15:53
задефайнь свой контроллер со своим шаблоном. хз, не запаривался над этим вообще )
ну или даже темплейт просто редефайн

Виктор
03.11.2017
19:18:03
Ну не оч критично, но я для энтерпрайз пишу и люди могут спросить что это за муйня

Vladislav
03.11.2017
19:20:15
https://symfony.com/doc/current/templating/overriding.html
хотя сек, я не уверен что там шапка рендерится в темплейте который ты можешь оверайдить

Виктор
03.11.2017
19:21:22
В смысле я просто них пока не понял, откуда в папке веб взялись например скрипты и стили сваггера, и то что ты сказал теоретически понятно, а где там вообще темплейт и как его подменить для мну пока китайская грамота)
А слух, так там есть возможность выплюнуть доку в json

Vladislav
03.11.2017
19:23:31
это билд ассетов условно
да, ты можешь взять json и нарисовать че угодно
есть шаблоны для сваггера
выбери любой и сделай себе доку
ток хз зачем париться над этим)

Виктор
03.11.2017
19:24:01
Дальше свой шаблон делаешь и цепляешь туда этот json и все

Vladislav
03.11.2017
19:25:51
https://github.com/apigee-127/swagger-test-templates