Size: a a a

2020 November 02

D

Des1roer in symfony
'transitions' => [
               self::TO_ACTIVE => [
                   'from' => self::INIT,
                   'to' => self::ACTIVE,
               ],
               self::TO_EXPIRED => [
                   'from' => self::ACTIVE,
                   'to' => self::EXPIRING,
               ],
               self::TO_CANCELLED => [
                   'from' => [self::EXPIRING, self::ACTIVE],
                   'to' => self::CANCELLED,
               ],
           ],
источник

D

Des1roer in symfony
а маркинг учитывает только один стейт
источник

ВП

Владимир Плахотников... in symfony
Des1roer
лажу по коду. вижу что в макринг один стейт записывается и проверка не проходит
Записывается текущий стейт, тебе какой нужен ещё?
источник

D

Des1roer in symfony
private function doCan($subject, Marking $marking, Transition $transition)
   {
       foreach ($transition->getFroms() as $place) {
           if (!$marking->has($place)) {
               return false;
           }
       }

       if (true === $this->guardTransition($subject, $marking, $transition)) {
           return false;
       }

       return true;
   }
источник

D

Des1roer in symfony
$transition->getFroms() - два разрешенных стейта а у marking только один актив стоит, то есть второй (канцелед) не учитывается
источник

ВП

Владимир Плахотников... in symfony
Так что ты хочешь от стейтМашины? Непонятно что не устраивает
источник

D

Des1roer in symfony
/app/moto-subscription-service/vendor/symfony/workflow/Workflow.php:206:
object(Symfony\Component\Workflow\Transition)[1289]
 private 'name' => string 'to_cancelled' (length=12)
 private 'froms' =>
   array (size=2)
     0 => string 'Expiring' (length=8)
     1 => string 'Active' (length=6)
 private 'tos' =>
   array (size=1)
     0 => string 'Cancelled' (length=9)
/app/moto-subscription-service/vendor/symfony/workflow/Workflow.php:206:
object(Symfony\Component\Workflow\Marking)[1288]
 private 'places' =>
   array (size=1)
     'Active' => int 1
источник

D

Des1roer in symfony
по логике он мне должен разрешить из одного состояния в разные уходить
источник

ВП

Владимир Плахотников... in symfony
oh my глаза
источник

D

Des1roer in symfony
источник

ВП

Владимир Плахотников... in symfony
Des1roer
по логике он мне должен разрешить из одного состояния в разные уходить
ну так а он что?
источник

ВП

Владимир Плахотников... in symfony
Des1roer
по логике он мне должен разрешить из одного состояния в разные уходить
Он разрешает переходить в те состояния, которые ты разрешил при описании процесса. Он что-то не разрешает?
источник

D

Des1roer in symfony
он видит что у Symfony\Component\Workflow\Marking в places нет  Expiring и выдает ошибку
источник

D

Des1roer in symfony
множествееный фром должен нормально решаться по сути
источник

ВП

Владимир Плахотников... in symfony
Ты скинул три разных процесса: какой-то yaml, пичку из доки и ссылку на сервис. Ты о каком?
источник

D

Des1roer in symfony
кейс как в картинке должен быть. т.е. из актив можно и в канселед и експиред
источник

нc

николай catman... in symfony
Привет, есть такой вопрос - есть проблема с производительностью доктрины. Условно у сущности много разных связей и у связей есть связи. При этом эти сущности не всегда нужны.
Может ли доктрина загрузить нужные связи сразу же при получении списка сущностей? Условно я получаю 100 пользователей и хочу получить сразу же их посты, комментарии, лайки, файлы и все остальное?
При этом в большинстве случаев загружать эти связи мне не надо.
Может ли доктрина сделать один запрос в главную таблица, один запрос в таблицу со связями и смапаить это все в сущности?
источник

DT

Dmitriy Tkachenko in symfony
николай catman
Привет, есть такой вопрос - есть проблема с производительностью доктрины. Условно у сущности много разных связей и у связей есть связи. При этом эти сущности не всегда нужны.
Может ли доктрина загрузить нужные связи сразу же при получении списка сущностей? Условно я получаю 100 пользователей и хочу получить сразу же их посты, комментарии, лайки, файлы и все остальное?
При этом в большинстве случаев загружать эти связи мне не надо.
Может ли доктрина сделать один запрос в главную таблица, один запрос в таблицу со связями и смапаить это все в сущности?
fetch="eager"
источник

нc

николай catman... in symfony
Dmitriy Tkachenko
fetch="eager"
Это в аннотации сущности верно? Но оно же будет для всех запросов всегда
источник

VS

Vlad Sobenko in symfony
николай catman
Привет, есть такой вопрос - есть проблема с производительностью доктрины. Условно у сущности много разных связей и у связей есть связи. При этом эти сущности не всегда нужны.
Может ли доктрина загрузить нужные связи сразу же при получении списка сущностей? Условно я получаю 100 пользователей и хочу получить сразу же их посты, комментарии, лайки, файлы и все остальное?
При этом в большинстве случаев загружать эти связи мне не надо.
Может ли доктрина сделать один запрос в главную таблица, один запрос в таблицу со связями и смапаить это все в сущности?
read model
источник