DB 구조 만드는 것이 아마 제일 힘들 것 같습니다.
이 기초가 튼튼해야 앞으로 문제가 없을 같은데..
그래서 이것저것 보다 보니 ciboard 3.0 Pro의 구조를 참조로 하면 될 것 같습니다.
@terrorboy 님이 예전에 추천해 주신 https://sir.kr/cm_free/1445871 erdcloud.com 에
ciboard 3.0 pro에 대한 것이 올라와 있네요.
https://www.erdcloud.com/d/wNtbZdTQkjqehzKgn
먼저 글(post) 위주로 보면 gnuboard와 다르게 모든 글이 이 Table에 다 올라갑니다.
이 글의 글쓴이 (member) 와 이 글이 게시판(board)에 대해서 연결되어 있겠죠..
또한 댓글 (comments)도
"post" hasone or belongs to "member"
"post" hasone or belongs to "board"
"post" hasmany "comments"
hasone 이냐 belongsto냐는 https://stackoverflow.com/questions/30058949/should-i-use-belongsto-or-hasone-in-laravel
그래서 여기서는 belongsto 이네요. board_id와 member_id가 post에 있기 때문에..
"member" hasmany "post"
"board" hasmany "post"
"comments" belongsto "post"
"comments" belongsto "board"
"comments" belongsto "member"
의 Relation을 가지고 있을 것 같습니다.
게시판(board) 은 게시판 그룹(group)으로 연결 되어 있죠..
"board" hasone "group"
"group" hasmany "board"
이런 연결로 하면 예전에 게시글 처럼 https://sir.kr/so_app/170
GET api/v1/group 전체 Group (즉 top 메뉴를 읽어오기)
GET api/v1/group/{group_id} 각 그룹에 속한 메뉴 읽어오기
GET api/v1/board/{board_id} 게시판 읽어오기 (list_skin)
GET api/v1/board/{board_id}/post/{post_id} 게시판 항목 읽어오기 (view_skin)
식으로 구현이 가능할 것 같습니다. 아니면 wordpress방식으로
api/v1/post?board={board_id}
그러나 magento의 api를 보면 https://devdocs.magento.com/guides/v2.3/rest/list.html
역시 대세는 전자가 될 것 같습니다.
post 와 comment의 관계는 polymorphic으로 연결된다고 합니다. (추후에 더 공부해야..)
그리고 comment와 comment는 reply기능이 되어야 되니 이것도 나중에
댓글 7개
그누보드와 다르게 Post와 Comment 각각 하나의 테이블로 전 게시판을 커버해야 되는 구조라서..
아무래도 그누보드보다는 늦을 것 같고.. 그누보드처럼 테이블을 여러개 만드는 방법도 고민해봐야 될것 같고..
게시글 목록
| 번호 | 제목 |
|---|---|
| 394 | |
| 393 | |
| 392 | |
| 391 | |
| 390 | |
| 388 | |
| 387 | |
| 386 | |
| 374 | |
| 369 | |
| 368 | |
| 367 | |
| 366 | |
| 365 | |
| 364 |
라라벨
laravel passport
|
| 363 | |
| 362 |
기타
Postman 사용하기
|
| 361 | |
| 360 |
코드이그나이터
Laragon 4.03에 Ciboard 설치해 보기
|
| 359 | |
| 358 | |
| 357 | |
| 356 | |
| 354 |
라라벨
라라벨 MIX 4.0
1
|
| 350 | |
| 344 | |
| 343 | |
| 342 | |
| 341 | |
| 340 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기