|
|
@@ -2120,7 +2120,7 @@ dbs.defineModel({
|
|
|
|
|
|
#### Belongs To
|
|
|
|
|
|
-Объявление связи:
|
|
|
+Текущая модель ссылается на целевую по идентификатору.
|
|
|
|
|
|
```
|
|
|
Текущая (user) Целевая (role)
|
|
|
@@ -2136,6 +2136,8 @@ dbs.defineModel({
|
|
|
└─────────────────────────┘
|
|
|
```
|
|
|
|
|
|
+Объявление связи:
|
|
|
+
|
|
|
```js
|
|
|
dbs.defineModel({
|
|
|
name: 'user',
|
|
|
@@ -2154,7 +2156,7 @@ dbs.defineModel({
|
|
|
|
|
|
#### Has One
|
|
|
|
|
|
-Объявление связи:
|
|
|
+Обратная сторона `belongsTo` по принципу "один к одному".
|
|
|
|
|
|
```
|
|
|
Текущая (profile) Целевая (user)
|
|
|
@@ -2165,6 +2167,8 @@ dbs.defineModel({
|
|
|
└─────────────────────────┘
|
|
|
```
|
|
|
|
|
|
+Объявление связи:
|
|
|
+
|
|
|
```js
|
|
|
dbs.defineModel({
|
|
|
name: 'profile',
|
|
|
@@ -2180,7 +2184,7 @@ dbs.defineModel({
|
|
|
|
|
|
#### Has Many
|
|
|
|
|
|
-Объявление связи:
|
|
|
+Обратная сторона `belongsTo` по принципу "один ко многим".
|
|
|
|
|
|
```
|
|
|
Текущая (role) Целевая (user)
|
|
|
@@ -2196,6 +2200,8 @@ dbs.defineModel({
|
|
|
└─────────────────────────┘
|
|
|
```
|
|
|
|
|
|
+Объявление связи:
|
|
|
+
|
|
|
```js
|
|
|
dbs.defineModel({
|
|
|
name: 'role',
|
|
|
@@ -2211,7 +2217,7 @@ dbs.defineModel({
|
|
|
|
|
|
#### References Many
|
|
|
|
|
|
-Объявление связи:
|
|
|
+Текущая модель ссылается на целевую через массив идентификаторов.
|
|
|
|
|
|
```
|
|
|
Текущая (article) Целевая (category)
|
|
|
@@ -2225,6 +2231,8 @@ dbs.defineModel({
|
|
|
└─────────────────────────┘
|
|
|
```
|
|
|
|
|
|
+Объявление связи:
|
|
|
+
|
|
|
```js
|
|
|
dbs.defineModel({
|
|
|
name: 'article',
|
|
|
@@ -2243,21 +2251,24 @@ dbs.defineModel({
|
|
|
|
|
|
#### Belongs To (полиморфная версия)
|
|
|
|
|
|
+Текущая модель ссылается на целевую по идентификатору. Название целевой модели
|
|
|
+определяется свойством-дискриминатором.
|
|
|
+
|
|
|
Объявление связи:
|
|
|
|
|
|
```
|
|
|
- Текущая (file) Целевая A (letter)
|
|
|
-┌────────────────────────────┐ ┌─────────────────────────┐
|
|
|
-│ id: 1 │ ┌───│─> id: 10 │
|
|
|
-│ referenceId: 10 ────────│───┘ │ ... │
|
|
|
-│ referenceType: 'letter' │ └─────────────────────────┘
|
|
|
-└────────────────────────────┘
|
|
|
- Целевая Б (user)
|
|
|
-┌────────────────────────────┐ ┌─────────────────────────┐
|
|
|
-│ id: 2 │ ┌───│─> id: 5 │
|
|
|
-│ referenceId: 5 ────────│───┘ │ ... │
|
|
|
-│ referenceType: 'user' │ └─────────────────────────┘
|
|
|
-└────────────────────────────┘
|
|
|
+ Текущая (file) ┌─────> Целевая 1 (letter)
|
|
|
+┌─────────────────────────────┐ │ ┌─────────────────────────┐
|
|
|
+│ id: 1 │ │ ┌─│─> id: 10 │
|
|
|
+│ referenceType: 'letter' ──│──┘ │ │ ... │
|
|
|
+│ referenceId: 10 ─────────│────┘ └─────────────────────────┘
|
|
|
+└─────────────────────────────┘
|
|
|
+ ┌─────> Целевая 2 (user)
|
|
|
+┌─────────────────────────────┐ │ ┌─────────────────────────┐
|
|
|
+│ id: 2 │ │ ┌─│─> id: 5 │
|
|
|
+│ referenceType: 'user' ───│──┘ │ │ ... │
|
|
|
+│ referenceId: 5 ──────────│────┘ └─────────────────────────┘
|
|
|
+└─────────────────────────────┘
|
|
|
```
|
|
|
|
|
|
```js
|