앞에서 일대일 / 일대다의 관계에 대한 한 설정과 확인을 해 보았습니다. 마지막으로 다대다 관계에 대해 알아보도록 하겠습니다.

 

다대다(N:N) 관계

예를 들어, 한 게시물에 검색 요소로서의 태그를 설정할 때, 어느 한 게시물에 있는 태그가 다른 게시물에도 있을 수 있다. 이러한 관계를 다대다 관계라는 용어를 사용한다.이러한 관계는 database에서 주로 3개의 테이블로 관계를 설정하여 설명 할 수 있다.

 

경로 database/migrations/TIMESTAMP_create_tags_table.php

 

경로 database/migrations/TIMESTAMP_create_board_tag_table.php

 

관계설정

 

경로 app/Tag.php

 

경로 app/Board.php

 

팅커 링

boards 테이블에 2개의 게시물과 tags에 두개의 태그를 추가하여 이를 관계를 설정한 대로 출력이 되는지 확인 해 보도록 하겠습니다.

 

다대다 테스트

 

 

board_tag 테이블에 위와 같이 관계가 맺어 지는 것을 확인 할 수 있습니다.

 

다형적 관계에 대해서는 공식 문서를 찾아 보시기 바랍니다.

 

 

 

PHP 라라벨 5 On Mac 포스팅

[PHP 라라벨 5 On Mac] 1 : 다루게 될 내용들

[PHP 라라벨 5 On Mac] 2 : Composer, Valet, Framework

[PHP 라라벨 5 On Mac] 3 : Framework

[PHP 라라벨 5 On Mac] 4 : Routing

[PHP 라라벨 5 On Mac] 5 : 블레이드 템플릿 1 (View)

[PHP 라라벨 5 On Mac] 6 : 블레이드 템플릿 2 (View)

[PHP 라라벨 5 On Mac] 7 : 블레이드 템플릿 3 (View)

[PHP 라라벨 5 On Mac] 8 : 마이그레이션 (Create Table)

[PHP 라라벨 5 On Mac] 9 : 마이그레이션 (컬럼 추가 및 데이타 스토리 엔진 설정)

[PHP 라라벨 5 On Mac] 10 : 마이그레이션 (적용)

[PHP 라라벨 5 On Mac] 11 : 마이그레이션 (컬럼 수정)

[PHP 라라벨 5 On Mac] 12 : Laravel Tinker Shell

[PHP 라라벨 5 On Mac] 13 : Laravel Tinker Shell (쿼리 빌더)

[PHP 라라벨 5 On Mac] 14 : 엘로퀀트 ORM 1

[PHP 라라벨 5 On Mac] 15 : 엘로퀀트 ORM 2

[PHP 라라벨 5 On Mac] 16 : 엘로퀀트 ORM 3

[PHP 라라벨 5 On Mac] 17 : Controller I

[PHP 라라벨 5 On Mac] 18 : Controller II

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *