|
|
@@ -2122,6 +2122,20 @@ dbs.defineModel({
|
|
|
|
|
|
Объявление связи `belongsTo`.
|
|
|
|
|
|
+```
|
|
|
+ Текущая (user) Целевая (role)
|
|
|
+┌────────────────────┐ ┌────────────────────┐
|
|
|
+│ id: 1 │ ┌───│─> id: 5 │
|
|
|
+│ roleId: 5 ──────│───┤ │ ... │
|
|
|
+│ ... │ │ └────────────────────┘
|
|
|
+└────────────────────┘ │
|
|
|
+┌────────────────────┐ │
|
|
|
+│ id: 2 │ │
|
|
|
+│ roleId: 5 ──────│───┘
|
|
|
+│ ... │
|
|
|
+└────────────────────┘
|
|
|
+```
|
|
|
+
|
|
|
```js
|
|
|
dbs.defineModel({
|
|
|
name: 'user',
|
|
|
@@ -2138,8 +2152,46 @@ dbs.defineModel({
|
|
|
});
|
|
|
```
|
|
|
|
|
|
+Объявление связи `hasOne`.
|
|
|
+
|
|
|
+```
|
|
|
+ Текущая (profile) Целевая (user)
|
|
|
+┌───────────────────────┐ ┌────────────────────┐
|
|
|
+│ id: 5 <────────────│───┐ │ id: 1 │
|
|
|
+│ ... │ └───│── profileId: 5 │
|
|
|
+└───────────────────────┘ │ ... │
|
|
|
+ └────────────────────┘
|
|
|
+```
|
|
|
+
|
|
|
+```js
|
|
|
+dbs.defineModel({
|
|
|
+ name: 'profile',
|
|
|
+ relations: {
|
|
|
+ users: { // название связи
|
|
|
+ type: RelationType.HAS_ONE, // целевая модель ссылается на текущую
|
|
|
+ model: 'user', // название целевой модели
|
|
|
+ foreignKey: 'profileId', // внешний ключ из целевой модели на текущую
|
|
|
+ },
|
|
|
+ },
|
|
|
+});
|
|
|
+```
|
|
|
+
|
|
|
Объявление связи `hasMany`.
|
|
|
|
|
|
+```
|
|
|
+ Текущая (role) Целевая (user)
|
|
|
+┌────────────────────┐ ┌────────────────────┐
|
|
|
+│ id: 5 <─────────│───┐ │ id: 1 │
|
|
|
+│ ... │ ├───│── roleId: 5 │
|
|
|
+└────────────────────┘ │ │ ... │
|
|
|
+ │ └────────────────────┘
|
|
|
+ │ ┌────────────────────┐
|
|
|
+ │ │ id: 2 │
|
|
|
+ └───│── roleId: 5 │
|
|
|
+ │ ... │
|
|
|
+ └────────────────────┘
|
|
|
+```
|
|
|
+
|
|
|
```js
|
|
|
dbs.defineModel({
|
|
|
name: 'role',
|
|
|
@@ -2155,6 +2207,18 @@ dbs.defineModel({
|
|
|
|
|
|
Объявление связи `referencesMany`.
|
|
|
|
|
|
+```
|
|
|
+ Текущая (article) Целевая (category)
|
|
|
+┌─────────────────────────┐ ┌────────────────────────┐
|
|
|
+│ id: 1 │ ┌───│─> id: 5 │
|
|
|
+│ categoryIds: [5, 6] ──│───│ │ ... │
|
|
|
+│ ... │ │ └────────────────────────┘
|
|
|
+└─────────────────────────┘ │ ┌────────────────────────┐
|
|
|
+ └───│─> id: 6 │
|
|
|
+ │ ... │
|
|
|
+ └────────────────────────┘
|
|
|
+```
|
|
|
+
|
|
|
```js
|
|
|
dbs.defineModel({
|
|
|
name: 'article',
|