먼저 모델 클래스를 만들고 Think \ Model 클래스에서 상속하십시오. 다음은 트리거를 구현하는 방법에 대한 예제 코드입니다.
네임 스페이스 앱 \ 모델; Think \ Model을 사용하십시오. 클래스 usertriggerModel은 모델을 확장합니다 { // 트리거 테이블 이름 보호 $ table = '사용자'를 설정합니다. // 트리거 이벤트 유형 보호 $ events = [ 'prever_insert', 'prever_update', 'prever_delete', ]; // prever_insert 트리거 이벤트 보호 기능 이전에 ($ data) { // 작동 로직 트리거 // 예를 들면 : 삽입 전의 레코드 처리 작업} // prever_update 트리거 이벤트 보호 기능 이전 ($ data) { // 작동 로직 트리거} // prever_delete 트리거 이벤트 보호 기능 BeforedElete ($ data) { // 작동 로직 트리거} }
이 예에서는 이전의 트리거 이벤트를 정의합니다 : prever_insert , prever_update 및 prever_delete . 모델 클래스에서 해당 메소드를 덮어 쓰면 데이터베이스 레코드가 삽입, 업데이트 또는 삭제 될 때 미리 정해진 작업을 자동으로 수행 할 수 있습니다.
실제 비즈니스에서는 다음 코드를 통해 해당 작업을 트리거하면됩니다.
$ user = new userTriggerModel (); $ user-> data ([[ '이름'=> '존', 'Age'=> 20, ])-> 저장 ();
이 코드를 실행할 때 이전 인수 메소드가 자동으로 트리거되어 사용자 정의 논리 작업을 추가 할 수 있습니다.
저장 절차를 작성하고 호출하기위한 예제 코드는 다음과 같습니다.
네임 스페이스 앱 \ 모델; Think \ Model을 사용하십시오. 클래스 userproceduremodel은 모델을 확장합니다 { // 저장된 절차 호출 public function callprocedure () { $ sql = "call user_count ()"; $ result = $ this-> query ($ sql); 반환 $ 결과; } }
이 예에서는 저장된 프로 시저 user_count ()를 실행하기위한 콜 프로세서 메소드를 정의합니다. $ this-> Query () 메소드를 호출함으로써 저장된 절차를 실행하고 실행 결과를 반환 할 수 있습니다.
비즈니스 코드에서 저장 절차를 호출하고 다음과 같은 방법으로 결과를 얻을 수 있습니다.
$ user = 새로운 userProcedUremodel (); $ result = $ user-> callProcedure ();
이런 식으로 저장 프로 시저를 쉽게 호출하고 추가 처리를 위해 $ 결과 변수에 결과를 저장할 수 있습니다.