
Dmitriy
27.10.2018
12:05:00

Sergey
27.10.2018
12:05:03

Dmitriy
27.10.2018
12:05:36
в запросе срез

Google

Sergey
27.10.2018
12:05:41
и при этом у тебя остается гибкость, не нужно нормализовывать выборку сложными способами, а по перформансу все ок будет

Dmitriy
27.10.2018
12:05:44
т.е. например 50 сущностей

Sergey
27.10.2018
12:05:47
во втором ты только для тех штук выбираешь историю
отдельно
и домэпливаешь

Dmitriy
27.10.2018
12:06:22
но это к каждой сущности из среза нужно дополнить

Sergey
27.10.2018
12:06:30
p.s. год назад я так проект разделял, что бы можно было изолировать таблички в базе по контекстам - было очень даже удобно

Dmitriy
27.10.2018
12:06:35
т.е. 100 - 150 запросов как с куста

Sergey
27.10.2018
12:06:46
нет необходимости делать это так как делает та же доктрина
where parent_id IN (ids from your slice)

Dmitriy
27.10.2018
12:07:45
и потом смапливать все дело между друг-другом?

Google

Dmitriy
27.10.2018
12:07:52
а это идея

Sergey
27.10.2018
12:07:55
да, это не оч сложно
и пофигу что будут те самые +N запросов

Dmitriy
27.10.2018
12:12:42
я понял за что нелюбят gql на бэке. Это его гребаная гибкость заставляет хуячить всякие костыли
сращивать такое несложно концептуально, но в результате мне нужно
1. Перебрать весь результирующий сэт из 1 запроса, чтобы выудить список ID
2. Запросит доп данные с where in (ids)
3. Перебрать результирующий сэт из п.2 чтобы индексировать его [id => StateDateTime]
4. Перебрать результаты, чтобы сростить данные из п.3 в п.4

Danil
27.10.2018
12:21:16
А как это сделать?
просто в запросе тянешь поле, которого нет в сущности и оно будет в result леежать рядом с сущностью

Dmitriy
27.10.2018
13:45:31
А сериалайзер не затригеррит подтягивание юзера, если в сущности есть метод getUser, но сам user еще не подтянут?

Sergey
27.10.2018
13:51:32

Dmitriy
27.10.2018
13:52:24
конечно)
можно и не анонимно, какая разница?)

Sergey
27.10.2018
13:58:03
если что - it depends. если у тебя сериалайзер работает через методы - то при вызове метода будет затригерена доктриновская прокся

Dmitriy
27.10.2018
14:20:57
Это вообще все проделки магии, которой я уже нажрался на Yii2 - там она вообще везде. Должен быть метод fetchUser и getUser тогда у сущности, чтобы было все очевидно

Urmat
27.10.2018
14:35:50
Народ, как “правильно” с помощью ентити менеджера обновить существующую запись при on duplicate? я хотел UniqueConstraintException ловить, но тогда получается два запроса

Sergey
27.10.2018
14:42:28
наиболее разумный вариант - отказаться в этом месте от ORM и юзать DBAL

Icewild
27.10.2018
14:46:19
прям какой-то национальный день отказа от ORM

Dmitriy
27.10.2018
14:53:47
27 октября - Международный день народного единства в отказе от ОРМ)

Sergey
27.10.2018
14:55:04

Google

Urmat
27.10.2018
14:56:02

Icewild
27.10.2018
14:57:46
а какая разница сколько проекту времени?

Sergey
27.10.2018
15:04:46
Ну смотря что делать, риски разные

Anton
27.10.2018
16:46:38
И никто не подскажет, мне надо просто проанализировать проект и понять какие там страницы есть. Вот в ларавеле - взяль центральный файл с роутами и примерно проверил все что отвечает или нажать можно. Есть ли какой плагинчик для шторма или еще что - чтобы все роуты сифони собрать?
Ну так чтобы прокликать и посмотреть

Icewild
27.10.2018
16:47:17
bin/console debug:router

Dmitry
27.10.2018
17:59:52

Valentin
27.10.2018
18:38:22

f4rt~
27.10.2018
19:07:34
Гайз, есть тут кто кто переодически посматривает/отслеживает всякие штуки,вне доктрины, которые пилит Марко @Ocramius
Скажите мне,пожалуйста, почему:
Он зовет инвочные классы, аля QueryFunction через $obj->__invoke($args) а не $someKindOfUsers();
Почему, он вносит __invoke в интерфейс, если это не является частью контракта класса
с остальными ньюансами, я как то еще могу мириться :)

Bohdan
27.10.2018
19:10:56
на мой вкус - чтобы не ломать глаза странным синтаксисом

Icewild
27.10.2018
20:21:01
а когда ты делаешь $someVar();
то ты теряешь эту возможность
ну и явное лучше неявного

Andrew
27.10.2018
20:24:37
Плюс если такой объект - свойство другого обьекта, то $this->prop() будет дергать метод prop(), тут или через явный __invoke или через call_user_func нужно дергать

Petr
27.10.2018
21:10:18

Bohdan
27.10.2018
21:15:27
ну даже если не грепом, то глобальным поиском в шторме - разницы никакой

Icewild
27.10.2018
21:19:43

Petr
27.10.2018
21:20:56

knopkod4v
27.10.2018
21:25:37

Google

f4rt~
27.10.2018
21:26:19
просто я не вижу юзкейса с QueryFunction как часть какой-то проперти
обычно эта штука, исключительно что бы сделала свое дело где-то в контексте и повысить читаемость
а аргумент про грепы, ну это конечно такое
тебе ничего не даст, если ты будешь искать тупо __invoke()
а то же время что так что эдак ты знаешь какой класс ищешь и можешь найти его
но никто так и не сказал про инвок в интерфейсах

Arky
27.10.2018
22:06:56
А мне интересно, почему у сериалайзера в интерфейсе только методы: serialize и deserialize, а остальных нет)

Shmaltorhbooks
27.10.2018
22:07:15
Например, какие?

Arky
27.10.2018
22:07:41
denormalize, decode etc

Vladislav
27.10.2018
22:07:59

Shmaltorhbooks
27.10.2018
22:08:06
Наверное, потому что это не его ответственность?

Arky
27.10.2018
22:08:54

Shmaltorhbooks
27.10.2018
22:10:11
Нужны они ей потому что)
Программируй интерфейсами и их не будет)

f4rt~
27.10.2018
22:10:35

Arky
27.10.2018
22:21:27
а, знач их просто забыли сделать приватными?)0
тогда понятно, спасибо)

Sergey
27.10.2018
22:22:51
Программируй интерфейсами и их не будет)
ты смотри, некотторые этот совет воспринимают слишком буквально и реально создают по интерфейсу (сущность языка, а не понятие публичного интерфейса объекта, поведение объекта, контракт) на каждый класс

Arky
27.10.2018
22:29:57

Sergey
27.10.2018
22:30:45
а как надо? Интерфейс на модуль?)
интерфейсы нужны в двух ситуациях:
- общие контракт (абстракция) - множество реализаций
- интерфейс в одном модуле а реализация в другом (пример - Logger Interface из PSR, общая договоренность между модулями, инверсия зависимостей).
Если у тебя появляется модуль Interfaces - то ты не разобрался с темой

Shmaltorhbooks
27.10.2018
22:30:46
На ответственность

Google

f4rt~
27.10.2018
22:32:03

Den
27.10.2018
22:32:08
тут по симфе спрашивать можно?..

Sergey
27.10.2018
22:32:10

Den
27.10.2018
22:32:21
ну всмысле, каждый может спрашивать?..

Sergey
27.10.2018
22:32:35
но если вопрос гуглится за 5 минут то ты идешь в РО на сутки

Den
27.10.2018
22:33:06
Если я в webpack не использую версионирование, то и manifest не нужен?

Sergey
27.10.2018
22:33:06
если же ты гуглил - опиши что именно гуглил, какие варианты уже пробовал и т.д.
бля, ты ж говорил по симфони вопрос

Den
27.10.2018
22:33:22
РО - это что?

Bohdan
27.10.2018
22:33:28
ридонли

Den
27.10.2018
22:33:48
ну в 4й жеж..
или я уже в РО?

Evgenii
27.10.2018
22:34:08
plain object же

Vladislav
27.10.2018
22:34:13

Bohdan
27.10.2018
22:34:14
я тебя не понимать

Den
27.10.2018
22:34:29
вебпак..

Bohdan
27.10.2018
22:34:34

Sergey
27.10.2018
22:34:35
но я хз, у меня вэбпаки отдельно живут