eloquent모델을 업데이트 할때 save나 update를 쓰는데 변경사항이 없을때는 아예 DB에 기록을 안하더라구요.
업데이트 액션을 취했다는 정보를 남기고 싶다면 upated_at에 무조건 새로운 값을 할당하거나 touch함수를 써야되는데 touch는 쿼리가 한번 더 날아가서 무조건 쓰긴 좀 그렇더라구요.
혹시 더 좋은 방법이 있을까요?
찾아보니 한때 업데이트할 내용이 없는데도 save()를 하면 updated_at이 갱신되었는데, 이를 버그로 여겨서 고쳤었네요.
https://github.com/laravel/framework/issues/790
별도의 쿼리가 발생하지 않으려면 직접 updated_at에 값을 넣는 수 밖에 없지 않을까 싶네요.
답변들 감사합니다.
$model->updated_at = Carbon::now(); 를 넣어주는 식으로 해결이 가능할듯 합니다.
내용을 보니 어떤 컬럼도 업데이트 하지 않고 DB가 아닌 다른곳에 업데이트를 로깅하고 싶으신건가요??
eloquent모델을 업데이트 할때 save나 update를 쓰는데 변경사항이 없을때는 아예 DB에 기록을 안하더라구요.
업데이트 액션을 취했다는 정보를 남기고 싶다면 upated_at에 무조건 새로운 값을 할당하거나 touch함수를 써야되는데 touch는 쿼리가 한번 더 날아가서 무조건 쓰긴 좀 그렇더라구요.
혹시 더 좋은 방법이 있을까요?