문서 생성 직후 해당 문서의 확장변수를 입력하려는데 문서번호는 어떻게 받아오나요?
CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 7.2 |
$oDocController = getController('document');
$output = $oDocController->insertDocument($obj,true);
위 코드 직후에
$args = new stdClass;
$args->document_srl = ;
executeQuery('document.insertDocumentExtraVar', $args);
이렇게 생성된 문에서 확장변수 값을 동시에 넣어주려고 합니다.
그런데 방금 생성된 문서번호를 넣어주는 방법을 모르겠네요.
혹시 이보다 더 좋은 방법이 있다면 다른 방법을 알려주셔도 감사하겠습니다.
외부파일에 코드가 작성됩니다.
댓글 5
insertDocument 호출이전에
$obj->document_srl = getNextSequence();
를 먼저 선언해주시면 알아서 새글이지만 해당 document_srl 으로 넘겨줍니다.
그리고
$output = $oDocController->insertDocument($obj,true);
if($output->toBool())
{
$args ~~~~
executeQuery('document.insertDocumentExtraVar', $args);
}
if($output->toBool())<- 는 실제로 document가 재대로 들어갓는지 아닌지 여부를 출력해줍니다.
디비에 오류가 있으면 아래 insertDocumentExtraVar쿼리를 실행시키지 않습니다.
문서가 생성된 직후에 결과 값으로 가져오는 건 없는 거군요. 시도해보겠습니다. 감사합니다.
문서 생성 사이에 다른 것이 먼저 끼어들어 시퀀스 값이 바뀌거나 하는 일은 없나요?
바로 https://github.com/rhymix/rhymix/blob/master/modules/document/document.controller.php#L436 이줄로 넘어오는것이라.. 문제 없을 것 같습니다.
예가 그냥 조회만 하는게 아니고 아예 할당을 하는거인가 보군요. 저는 저 값이 실제 문서 들어갈때 다시 생성하는줄 알았는데 그러면 문제가 되겠네요.
getNextSequence 라는게 그냥 다음의 숫자를 계속 생성해주는거 잖아요.
근데 님이 필요한건 애드온인지 뭔지 모르겠지만 저 insertDocument 빠져나온다음 $output에 document_srl 를 알아야 하는데 실제로 $output 에는 정보가 없으니까 미리 먼저 넣어주는거예요
그러면 넣어준 document_srl 으로 게시글을 생성하기에 해당 값이 무조건 변할일도 없고, 그 값을 가지고 그대로 해당 게시글을 조회하는거죠.
그리고 게시글 작성에 만일에도 실패했다 싶으면 무조건 아래 확장변수 쿼리를 안돌리고 return 되니까요.