-
1対1の関連付け: 1対1の関連付けを作成するには、
hasOne
とbelongsTo
メソッドを使用します。例えば、UserとProfileという2つのモデルがある場合、以下のように関連付けを定義できます。// Userモデル const User = sequelize.define('User', { // ユーザーの属性を定義 }); // Profileモデル const Profile = sequelize.define('Profile', { // プロフィールの属性を定義 }); // 関連付けを定義 User.hasOne(Profile); Profile.belongsTo(User);
-
1対多の関連付け: 1対多の関連付けを作成するには、
hasMany
とbelongsTo
メソッドを使用します。例えば、UserとTaskという2つのモデルがある場合、以下のように関連付けを定義できます。// Userモデル const User = sequelize.define('User', { // ユーザーの属性を定義 }); // Taskモデル const Task = sequelize.define('Task', { // タスクの属性を定義 }); // 関連付けを定義 User.hasMany(Task); Task.belongsTo(User);
-
多対多の関連付け: 多対多の関連付けを作成するには、
belongsToMany
メソッドを使用します。例えば、UserとGroupという2つのモデルがあり、中間テーブルとしてUserGroupがある場合、以下のように関連付けを定義できます。// Userモデル const User = sequelize.define('User', { // ユーザーの属性を定義 }); // Groupモデル const Group = sequelize.define('Group', { // グループの属性を定義 }); // 中間テーブル const UserGroup = sequelize.define('UserGroup', { // 関連付けのための属性を定義 }); // 関連付けを定義 User.belongsToMany(Group, { through: UserGroup }); Group.belongsToMany(User, { through: UserGroup });
上記のコード例では、Sequelizeの関連付けヘルパーメソッドを使用して、1対1、1対多、多対多の関連付けを定義する方法を示しています。これらの関連付けを使用すると、データベーステーブル間の関連を簡単に操作できるようになります。