증기 4의 결합 테이블에서 모든 열을 선택하는 방법은 무엇입니까?

초코 포드

증기가 새로운 기능을 추가 eagerLoad하고 제거 하는 것 같습니다 alsoDecode. 친자, 형제 자매 관계가있는 분들에게 편리합니다. 그러나 관계가없는 사람들에게는 적합하지 않습니다.

노드가 관계에 관여 할 수없는 (또는 방법을 모르는) 트리 구조를 구현하고 싶습니다. 노드에는 부모와 노드 인 많은 자식이 있습니다.

그래서이 구조에 대한 세 개의 테이블이 있습니다.

Tree:

| Field       | Type            |  
| ----------- | --------------- |  
| id          | UUID?           |  
| name        | String          |  
| nodes       | [Node]          |
| paths       | [Path]          |

Nodes:
| Field         | Type                       |  
| ------------- | -------------------------- |  
| id            | UUID?                      |  
| type          | NodeType(root, leaf, node) |    
| tree          | Tree                       |

Path:
| Field        | Type      |  
| ------------ | --------- |  
| id           | UUID?     |  
| distance     | Int       |  
| ancestorID   | UUID      |  
| descendantID | UUID      |  
| tree         | Tree      |

문제는 내가하고 싶다면

SELECT Nodes.id, Nodes.type, Path.ancestorID from Nodes
INNER JOIN Path
ON Nodes.id = Path.descendantID

코드 작성 방법.

Pikzelz

로 전송하도록 선택할 수도 있습니다 SQLDatabase. 가져 SQLKit오기도 확인하십시오 . Fluent 데이터베이스는 항상 SQLDatabase로 캐스팅 될 수 있습니다.

예 : 다음 let sqlDb = req.db as? SQLDatabase과 같은 사용자 지정 쿼리를 사용할 수있는 권한을 제공합니다.sqlDb?.select().from("Nodes").join("Path", on: "Nodes.id = Path.descendantId").all()

SQLKit에 대한 자세한 내용은 https://github.com/vapor/sql-kit을 참조 하세요.

참조 : https://docs.vapor.codes/4.0/fluent/advanced/ (모든 Fluent 데이터베이스를 SQLDatabase로 캐스팅 할 수 있습니다. 여기에는 req.db, app.db, 마이그레이션에 전달 된 데이터베이스 등이 포함됩니다.)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

테이블의 모든 열에 기본값을 입력하는 방법은 무엇입니까?

분류에서Dev

부모 테이블의 값을 기반으로 자식 테이블에서 항목을 선택하는 방법은 무엇입니까?

분류에서Dev

JavaScript에서 모든 테이블 행의 선택된 옵션 값을 얻는 방법은 무엇입니까?

분류에서Dev

Excel 데이터 테이블 열에서 모든 값을 선택하는 방법은 무엇입니까?

분류에서Dev

Google 문서에서 셀 내용 크기와 일치하도록 모든 테이블 높이의 모든 행을 설정하는 방법은 무엇입니까?

분류에서Dev

이전 열의 데이터 증가율로 새 열을 표시하는 테이블에서 데이터를 선택하는 방법은 무엇입니까?

분류에서Dev

값을 기준으로 테이블 1에서 모두를 선택한 다음 해당 테이블의 값을 사용하여 동일한 테이블에서 선택하는 방법은 무엇입니까?

분류에서Dev

모바일보기에서 테이블의 일부 열을 숨기는 방법은 무엇입니까?

분류에서Dev

Javascript를 사용하여 CSS 선택기 문자열에서 모든 의사 선택기를 제거하는 방법은 무엇입니까?

분류에서Dev

행 조건이 주어진 테이블에서 모든 행을 선택하는 방법은 무엇입니까?

분류에서Dev

VBA 및 Excel에서 선택한 열의 모든 셀을 반복하는 방법은 무엇입니까?

분류에서Dev

qsqltablemodel 테이블의 목록에 모든 열 헤더 이름을 삽입하는 방법은 무엇입니까?

분류에서Dev

Android에서 테이블의 모든 행을 삭제하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

PostgreSQL의 열거 열을 기반으로 모든 행을 합산하는 방법은 무엇입니까?

분류에서Dev

SQLite : 데이터베이스의 모든 테이블에 열을 추가하는 방법은 무엇입니까?

분류에서Dev

1d Numpy 배열의 모든 순열에서 모든 라운드 테이블 순열을 제거하는 방법은 무엇입니까?

분류에서Dev

다른 행의 값의 합계로 한 열이있는 테이블에서 특정 행을 선택하는 방법은 무엇입니까?

분류에서Dev

'user_id'열이있는 모든 테이블 이름을 선택하는 방법은 무엇입니까?

분류에서Dev

SQLite의 한 테이블에서 모든 부모 및 자식 행을 얻는 방법은 무엇입니까?

분류에서Dev

열을 일치시켜 테이블에서 행 집합을 선택하는 방법은 무엇입니까?

분류에서Dev

SQL, 단일 선택에서 두 개의 종속 열을 기반으로 많은 결과를 선택하는 방법은 무엇입니까?

분류에서Dev

모든 데이터 프레임 열을 하나의 열로 연결하는 방법은 무엇입니까?

분류에서Dev

Postgres에서 특정 스키마의 모든 테이블을 삭제하는 방법은 무엇입니까?

분류에서Dev

wikipedia 테이블의 열 아래에 모든 값을 인쇄하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 배열의 모든 조합의 곱을 얻는 방법은 무엇입니까?

분류에서Dev

모든 요소에서 다른 JSON 배열 업데이트의 결과 인 여러 PostgreSQL JSON 배열을 병합하는 방법은 무엇입니까?

분류에서Dev

한 테이블의 열에 대한 조건을 모든 기본 키 인스턴스에 적용하는 방법은 무엇입니까?

분류에서Dev

URL의 시작 텍스트를 기반으로 페이지에서 모든 href 값을 선택하는 방법은 무엇입니까?

분류에서Dev

SQL : 다른 테이블의 테이블에서 다른 값을 선택하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    테이블의 모든 열에 기본값을 입력하는 방법은 무엇입니까?

  2. 2

    부모 테이블의 값을 기반으로 자식 테이블에서 항목을 선택하는 방법은 무엇입니까?

  3. 3

    JavaScript에서 모든 테이블 행의 선택된 옵션 값을 얻는 방법은 무엇입니까?

  4. 4

    Excel 데이터 테이블 열에서 모든 값을 선택하는 방법은 무엇입니까?

  5. 5

    Google 문서에서 셀 내용 크기와 일치하도록 모든 테이블 높이의 모든 행을 설정하는 방법은 무엇입니까?

  6. 6

    이전 열의 데이터 증가율로 새 열을 표시하는 테이블에서 데이터를 선택하는 방법은 무엇입니까?

  7. 7

    값을 기준으로 테이블 1에서 모두를 선택한 다음 해당 테이블의 값을 사용하여 동일한 테이블에서 선택하는 방법은 무엇입니까?

  8. 8

    모바일보기에서 테이블의 일부 열을 숨기는 방법은 무엇입니까?

  9. 9

    Javascript를 사용하여 CSS 선택기 문자열에서 모든 의사 선택기를 제거하는 방법은 무엇입니까?

  10. 10

    행 조건이 주어진 테이블에서 모든 행을 선택하는 방법은 무엇입니까?

  11. 11

    VBA 및 Excel에서 선택한 열의 모든 셀을 반복하는 방법은 무엇입니까?

  12. 12

    qsqltablemodel 테이블의 목록에 모든 열 헤더 이름을 삽입하는 방법은 무엇입니까?

  13. 13

    Android에서 테이블의 모든 행을 삭제하는 가장 좋은 방법은 무엇입니까?

  14. 14

    PostgreSQL의 열거 열을 기반으로 모든 행을 합산하는 방법은 무엇입니까?

  15. 15

    SQLite : 데이터베이스의 모든 테이블에 열을 추가하는 방법은 무엇입니까?

  16. 16

    1d Numpy 배열의 모든 순열에서 모든 라운드 테이블 순열을 제거하는 방법은 무엇입니까?

  17. 17

    다른 행의 값의 합계로 한 열이있는 테이블에서 특정 행을 선택하는 방법은 무엇입니까?

  18. 18

    'user_id'열이있는 모든 테이블 이름을 선택하는 방법은 무엇입니까?

  19. 19

    SQLite의 한 테이블에서 모든 부모 및 자식 행을 얻는 방법은 무엇입니까?

  20. 20

    열을 일치시켜 테이블에서 행 집합을 선택하는 방법은 무엇입니까?

  21. 21

    SQL, 단일 선택에서 두 개의 종속 열을 기반으로 많은 결과를 선택하는 방법은 무엇입니까?

  22. 22

    모든 데이터 프레임 열을 하나의 열로 연결하는 방법은 무엇입니까?

  23. 23

    Postgres에서 특정 스키마의 모든 테이블을 삭제하는 방법은 무엇입니까?

  24. 24

    wikipedia 테이블의 열 아래에 모든 값을 인쇄하는 방법은 무엇입니까?

  25. 25

    파이썬에서 배열의 모든 조합의 곱을 얻는 방법은 무엇입니까?

  26. 26

    모든 요소에서 다른 JSON 배열 업데이트의 결과 인 여러 PostgreSQL JSON 배열을 병합하는 방법은 무엇입니까?

  27. 27

    한 테이블의 열에 대한 조건을 모든 기본 키 인스턴스에 적용하는 방법은 무엇입니까?

  28. 28

    URL의 시작 텍스트를 기반으로 페이지에서 모든 href 값을 선택하는 방법은 무엇입니까?

  29. 29

    SQL : 다른 테이블의 테이블에서 다른 값을 선택하는 방법은 무엇입니까?

뜨겁다태그

보관