질문을 삭제하지 말아주세요.!
 
1
0
-1

책 내용 질문올립니다.

파일을 첨부한 아티클을 최초 작성할때 attachment 테이블 로우에 article_id가 업데이트 안되고 있습니다.

(글 수정 시에는 attachment 테이블의 article_id가 정상적으로 업데이트 됩니다.)


제가 체크한 부분은 아래와 같습니다.

  • 뷰단에서는 파일 업로드 시 동적으로 attachment 히든 인풋과 밸류가 정상적으로 생성됩니다.
  • attachments 테이블에도 업로드한 파일의 메타 데이터가 article_id가 없는 상태로 잘 인서트 되었습니다.
  • articles 컨트롤러 store 메소드에서도 attachments 배열에 article_id 값들이 잘 넘어왔습니다.
  • 아티클, 어테치먼트 모델들도 hasmany, belongsto로 연결되어있습니다.


혹시 그밖에 체크해야될 부분이 있거나 원인 파악에 도움이 될만한 정보가 있을까요?



  1. 황초예


    혹시 모델이 알아서 처리하지 못하는게 당연한거고

    아래 코드와 같은 추가 로직을 컨트롤러에 작성해야만 하는것인가요?

    Attachment::whereIn('id', $request->attachments)->update(['article_id' => $article->id]);



CommentAdd your comment...

1 answer

  1.  
    1
    0
    -1

    An article has many attachments, an attachment belongs to an article 관계죠. 책과 관계없이 일반적이 용법은 이렇습니다. 최근에 모델을 새로 만들 일이 없어서 매뉴얼을 찾아 봤는데, 혹시 제가 틀렸다면 지적해 주세요. https://laravel.com/docs/5.6/eloquent-relationships#updating-belongs-to-relationships


    $attachment = Attachment::find(1);
    $article = Article::find(1);
    $article->attachments()->associate($attachment);
    $article->save();
    
    
    // 또는
    
    
    $attachment = Attachment::find(1);
    $article = Article::find(1);
    $attachment->article_id = $article->id;
    $article->save();
      CommentAdd your comment...