Здравствуйте! Подскажите пожалуйста, как можно реализовать подобный функционал на ларавеле.
Допустим у меня есть пользователь, он публикует статьи и может их скрывать. Как мне можно реализовать так, чтобы при публикации, если он не менял ничего в статье, то она автоматически проходила бы модерацию, а если он что-то в ней предварительно поменял, то пришлось бы опять ждать подтверждения?
Я реализовал это так.
1.Получаю в контроллере текущее состояние модели до обновления через getOriginal()
2. Затем беру массив текущего Request.
3. С помощью array_diff сравниваю два массива и если расхождение идет только по датам, т.е count не больше 2х, то значит фиксирую, что изминений в статье не было.
Подскажите пожалуйста, насколько это правильно, так делать. Может есть еще варианты проверки? Спасибо
Добавляешь слушатель на событие updating
В слушателе проверяешь нужные поля на isDirty()
Если нужные поля "dirty" то делаешь манипуляции с отправкой на модерацию
Открой в исходниках модель и просмотри все методы которые она поставляет. Там много чего интересного и все описано.