질문/조언질답게시판

$oDocController = getController('document');
$output = $oDocController->insertDocument($obj,true);

 

위 코드 직후에

$args = new stdClass;

$args->document_srl = ;

 

 

executeQuery('document.insertDocumentExtraVar', $args);

 

이렇게 생성된 문에서 확장변수 값을 동시에 넣어주려고 합니다.

 

그런데 방금 생성된 문서번호를 넣어주는 방법을 모르겠네요.

혹시 이보다 더 좋은 방법이 있다면 다른 방법을 알려주셔도 감사하겠습니다.

 

외부파일에 코드가 작성됩니다.

 

  • profile

    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쿼리를 실행시키지 않습니다.

  • profile profile

    문서가 생성된 직후에 결과 값으로 가져오는 건 없는 거군요. 시도해보겠습니다. 감사합니다.

     

    문서 생성 사이에 다른 것이 먼저 끼어들어 시퀀스 값이 바뀌거나 하는 일은 없나요?

  • profile profile
    insertDocument 실행전후로 뭐 들어갈게 있나요?

    바로 https://github.com/rhymix/rhymix/blob/master/modules/document/document.controller.php#L436 이줄로 넘어오는것이라.. 문제 없을 것 같습니다.
  • profile profile
    $obj->document_srl = getNextSequence();
    예가 그냥 조회만 하는게 아니고 아예 할당을 하는거인가 보군요. 저는 저 값이 실제 문서 들어갈때 다시 생성하는줄 알았는데 그러면 문제가 되겠네요.
  • profile profile

    getNextSequence 라는게 그냥 다음의 숫자를 계속 생성해주는거 잖아요.

    근데 님이 필요한건 애드온인지 뭔지 모르겠지만 저 insertDocument 빠져나온다음 $output에 document_srl 를 알아야 하는데 실제로 $output 에는 정보가 없으니까 미리 먼저 넣어주는거예요

    그러면 넣어준 document_srl 으로 게시글을 생성하기에 해당 값이 무조건 변할일도 없고, 그 값을 가지고 그대로 해당 게시글을 조회하는거죠.

     

    그리고 게시글 작성에 만일에도 실패했다 싶으면 무조건 아래 확장변수 쿼리를 안돌리고 return 되니까요.