
Sergey
05.04.2018
18:03:35
ну то есть persist НЕ надо вызывать при изменении данных сущности, так?

Shmaltorhbooks
05.04.2018
18:03:59
Зачем?

Sergey
05.04.2018
18:04:18
покажи мне место в документации которое такое говорит

Google

Shmaltorhbooks
05.04.2018
18:04:58
Зачем?
Так

Vit
05.04.2018
18:05:15
сеттеры, что щас будет

Shmaltorhbooks
05.04.2018
18:05:17
Куда?
Куда?

Vladislav
05.04.2018
18:05:50
лел

Bohdan
05.04.2018
18:05:51

Vladislav
05.04.2018
18:05:54
глянь что делает персист

Sergey
05.04.2018
18:05:59

Vladislav
05.04.2018
18:06:13
em -> persist != git commit

Shmaltorhbooks
05.04.2018
18:06:25
Так стейт куда сохраняется?
И где он был до этого?
И какая разница между этими двумя местами?

Google

Sergey
05.04.2018
18:06:50
ну UoW парадигма, че ты не понимаешь чтоли?

Shmaltorhbooks
05.04.2018
18:07:11
А без persist их в памяти нету?

Vladislav
05.04.2018
18:07:20
если так считать, то получается что все переменные в память сохраняются)))

Petr
05.04.2018
18:07:50
к тебе на работу приходит джун и спрашивает: как работает persist и flush, когда что вызывать. как ты ему это объяснишь?

Shmaltorhbooks
05.04.2018
18:08:07
И если нету, то где они?

Sergey
05.04.2018
18:08:20
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/working-with-objects.html#persisting-entities
короч читай и изучай

Shmaltorhbooks
05.04.2018
18:08:51
Это вопрос или утверждение?)

Sergey
05.04.2018
18:08:55
в частности что такое "MANAGED entity"
тут два варианта:
- не знаешь
- не можешь объяснить
а как говорится, если ты не можешь что-то объяснить. значит ты это не понимаешь

Vladislav
05.04.2018
18:10:41
если ты так понимаешь, то это не правильно
не плохое, а вообще неок
персист не сохраняет ниче вообще
шта
шо ты несешь, почитай
ничего он не сохраняет
ну камон

Shmaltorhbooks
05.04.2018
18:11:51
А до персиста где оно хранится?

Google

Sergey
05.04.2018
18:11:53
можем на инглише, итог будет одинаковый. persist и flush работают не так же как commit и push

Shmaltorhbooks
05.04.2018
18:11:57
Если не в памяти?
Та понятно

Icewild
05.04.2018
18:12:18
но изменения при персисте еще не было

Sergey
05.04.2018
18:12:20
просто птому что commit подразумевает создание коммита, а persist лишь помечает "следи за этим объектом". И если ты уже загрузил объект через доктрину она уже за ним следит

Vladislav
05.04.2018
18:12:24

Shmaltorhbooks
05.04.2018
18:12:30
Где именно хранится стейт до persist?

Sergey
05.04.2018
18:12:59
именно по этой причине придумали unit f work
что бы эмулировать что это не так
вся соль доктрины и UoW в том что бы притвориться что объекты все время лежат в памяти, и ты с ними работаешь как просто с объектами.

Shmaltorhbooks
05.04.2018
18:13:56
А где?
Есть три места, где он может хранится - в базе, в памяти и где-то ещё
Где это "где-то ещё"?

Sergey
05.04.2018
18:14:42
но все же ответь на вопрос.... где ты делаешь flush

Shmaltorhbooks
05.04.2018
18:14:47
На бумаге?
Тут?)

Sergey
05.04.2018
18:15:59
flush это не "завершение" а "сохранение изменений". То есть вычисление diff изменений, формирование запросов и коммит транзакции
persist это лишь "добавьте плиз эту сущность в UoW"
началось все с того что ты делаешь flush после persist хотя я спрашивал "где" ты делаешь flush. Ну и исходя из формулировки для апдейтов ты тоже делаешь persist. а это привело к дальнейшей дискуссии