Как правильно реализовать сохранения связанных моделей?
Всем привет.
у меня есть две модели, заказ и шаги выполнения этого заказа
order
orderId
name
...
status
step
stepId
title
...
status
то есть у одного заказа может быть много шагов, к примеру рисуем, нарезаем, упаковываем...
Если в шаге упаковываем меняется на готов, то соотвенно у всех последующих шагов статус меняется также на готов...
а у самого заказа на готов к отправке...
Проблема в том что не знаю как это лучше реализовать, в контроллере не хочется это все прописывать, может кто подскажет как это лучше сделать? Думал статусы для шагов менять через afterSaveEvent, но сомневаюсь:(
реализовывать все это надо не в контролере, а в моделе order. Она управляет всеми связанными данными и меняет статусы и т.д. Реализаций может быть много, например через события типа afterSave
Непонятно почему в order? По идее мне после сохранения какого либо статуса в шаге смотреть какой он в очереди и если есть предыдущии, то в них ставить статус на готов, а это как мне кажеться должно работать в модели step. А потом уже если это был последний шаг и он готов, смотреть из модели order в step чтобы поменять уже статус для самого заказа... Я наверно не прав? В принципе я разобрался со сменой статуса в шагах, делаю через afterSave как и посоветовали, смотрю все шаги, и меняю в предыдущих на готов. Не понятно теперь как отслеживать из order при условии что все шаги готовы.