Browse Source

chore: updates README.md

e22m4u 1 month ago
parent
commit
66c9bac44a
1 changed files with 64 additions and 0 deletions
  1. 64 0
      README.md

+ 64 - 0
README.md

@@ -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',