/**
  * 임시저장 데이터를 수정
  *
  * @param TemporaryEntity $temporary 임시저장 객체
  * @return TemporaryEntity
  */
 public function update(TemporaryEntity $temporary)
 {
     $diff = array_merge($temporary->diff(), ['createdAt' => date('Y-m-d H:i:s')]);
     $this->conn->table($this->table)->where('id', $temporary->id)->update($diff);
     return $this->createItem(array_merge($temporary->getOriginal(), $diff));
 }
 /**
  * 임시 데이터 저장
  *
  * @param string $key    구분할 수 있는 키(중복가능)
  * @param mixed  $val    저장될 내용
  * @param array  $etc    기타 값들
  * @param bool   $isAuto 자동 저장 인지 여부
  * @return TemporaryEntity
  */
 public function set($key, $val, array $etc = [], $isAuto = false)
 {
     if ($this->auth->guest()) {
         return null;
     }
     $temporary = new TemporaryEntity();
     $temporary->fill(['userId' => $this->auth->user()->getId(), 'key' => $key, 'val' => $val, 'etc' => serialize($etc), 'isAuto' => $isAuto ? 1 : 0]);
     return $this->repo->insert($temporary);
 }