Felhasználói eszközök

Eszközök a webhelyen


oktatas:web:back-end_framework:express:tablak_kapcsolasa

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Előző változat mindkét oldalonElőző változat
oktatas:web:back-end_framework:express:tablak_kapcsolasa [2025/07/28 11:36] – létrehozva adminoktatas:web:back-end_framework:express:tablak_kapcsolasa [2025/08/01 10:15] (aktuális) – eltávolítva admin
Sor 1: Sor 1:
-[[:oktatas:web:back-end_framework:express|< Express]] 
- 
-====== Express - Táblák kapcsolása ====== 
- 
-  * **Szerző:** Sallai András 
-  * Copyright (c) 2024, Sallai András 
-  * Szerkesztve: 2025 
-  * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] 
-  * Web: https://szit.hu 
- 
- 
-===== Táblák ===== 
- 
-Adott két tábla: 
- 
-<code> 
-Employees(id, name, city, salary, positionId) 
-Positions(id, name) 
-</code> 
- 
-===== Idegenkulcs megadása ===== 
- 
-A modellben: 
- 
-<code javascript> 
-Employee.belongsTo(Position, {foreignKey: 'positionId', targetKey: 'id'}) 
-</code> 
- 
- 
-Az Employee modell teljes kódja: 
- 
-<code javascript app/models/employee.js> 
-const { DataTypes } = require('sequelize') 
-const sequelize = require('../database/database') 
-const Position = require('../models/position') 
-  
-const Employee = sequelize.define('Employee', { 
-    id: {  
-        type: DataTypes.INTEGER, 
-        autoIncrement: true, 
-        primaryKey: true 
-    }, 
-    name: {  
-        type: DataTypes.STRING,   
-        allowNull: false, 
-        validate: { 
-            notNull: true 
-        } 
-    }, 
-    city: { type: DataTypes.STRING,  allowNull: true  }, 
-    salary: { type: DataTypes.DOUBLE , defaultValue: 0 }, 
-    positionId: {  
-        type: DataTypes.INTEGER 
-    } 
-}) 
- 
-//Idegenkulcs beállítása: 
-Employee.belongsTo(Position, {foreignKey: 'positionId', targetKey: 'id'}) 
- 
-//A model és az adatbázis szinkronizálása, nem erőltetve. 
-sequelize.sync({ 
-    force: false 
-}) 
-module.exports = Employee 
-</code> 
- 
-===== Lekérdezés ===== 
- 
-A kontrollerben egy lehetséges lekrédezés: 
- 
-<code javascript> 
-        const emps = await Employee.findAll({ 
-             
-            include: [{ 
-                model: Position 
-            }] 
-        }) 
-</code> 
- 
-===== Lehetséges kimenet ===== 
- 
-<code javascript> 
-{ 
-    "data": [ 
-        { 
-            "Position": { 
-                "createdAt": null, 
-                "id": 1, 
-                "name": "fejlesztő", 
-                "updatedAt": null 
-            }, 
-            "city": "Hatvan", 
-            "createdAt": "2024-03-10T18:15:02.000Z", 
-            "id": 7, 
-            "name": "Csoda Béla", 
-            "positionId": 1, 
-            "salary": 394, 
-            "updatedAt": "2024-03-10T18:15:02.735Z" 
-        }, 
-        { 
-            "Position": { 
-                "createdAt": null, 
-                "id": 1, 
-                "name": "fejlesztő", 
-                "updatedAt": null 
-            }, 
-            "city": "Szolnok", 
-            "createdAt": "2024-03-10T18:15:28.000Z", 
-            "id": 8, 
-            "name": "Csík Ferenc", 
-            "positionId": 1, 
-            "salary": 392, 
-            "updatedAt": "2024-03-10T18:15:28.361Z" 
-        }, 
-        { 
-            "Position": { 
-                "createdAt": null, 
-                "id": 2, 
-                "name": "tesztelő", 
-                "updatedAt": null 
-            }, 
-            "city": "Szeged", 
-            "createdAt": "2024-03-10T18:15:54.000Z", 
-            "id": 9, 
-            "name": "Erős István", 
-            "positionId": 2, 
-            "salary": 397, 
-            "updatedAt": "2024-03-10T18:15:54.954Z" 
-        } 
-    ], 
-    "success": true 
-} 
-</code> 
  
oktatas/web/back-end_framework/express/tablak_kapcsolasa.1753695369.txt.gz · Utolsó módosítás: 2025/07/28 11:36 szerkesztette: admin