2014-12-05 5 views
0

나는 내 데이터베이스에 users 테이블은 다음과 같이 배치했다 , 나는입니다.사용자가 Admin right이므로 만들기, 업데이트 및 삭제할 수 있습니다. 모든 사용자가 나중에 나와 동일한 권한을 갖도록 허용하려고합니다. 이 기능을 릴리스하기 전에 누가 무엇을 편집했는지 추적하고 싶습니다. 따라서 일이 손실되지 않도록하고 사물의 역사를 유지하는 것이 좋습니다.Laravel 4에 사용자 기록을 보관하는 방법은 무엇입니까?</p> <ul> <li>ID 지금 현재로</li> <li>이름</li> <li>FIRSTNAME</li> <li>LASTNAME</li> <li>이메일</li> <li>사진</li> </ul> <p>:

이 기능의 모범 사례는 무엇입니까? 컨트롤러 기능의 업데이트 기능에 프로그래밍 로직을 사용하고 있음을 알고 있습니다. 변화를

  • created_at합니다 : 문자열
  • new_data : 문자열의 변화가
  • old_data을 하였다 나는

    • USER_ID를 저장하기 위해 내 데이터베이스에 logs 테이블을 만들 필요가 있음을 알고

    이 기능에 대한 경험이있는 사람에게 제게 조언 해주세요. 정말 감사드립니다. 고맙습니다.

  • 답변

    2

    나는이 문제에 대한 최선의 접근법은 사용자가 기록하고자하는 각 동작이 또한 이벤트를 발생시켜야한다고 생각한다.

    Event::fire('some.event', array(Auth::user())); 
    

    그런 다음 각각의 이벤트에 대한 리스너를 등록 할 수 있습니다 적절히 로그인합니다.

    Event::listen('some.event', function($user) 
    { 
        // create new item in logs table here. 
    }); 
    
    +1

    이 코드는 어떤 기능/파일을 사용해야합니까? 조금 더 명확히하는 것이 마음에 들지 않으면 .. – iori

    +2

    이것이 실제로 좋은 방법입니다. Laravel 문서의 이벤트 리스너에 대한 자세한 내용을 볼 수 있습니다. http://laravel.com/docs/4.2/events –

    +1

    나는 그것을 시도 할 것이다. 고마워. – iori