PlanConflicts
というジャンクション・テーブルがあり、プランと競合の間に多対多の関係があります。ここで主キーなしのジャンクション・テーブルでDELETEまたはUPDATE可能
は私のモデル定義である:ここで
import { AllowNull, Column, DataType, ForeignKey, Model, Table } from "sequelize-typescript";
import Conflict from "./Conflict";
import Plan from "./Plan";
@Table({ tableName: "PlanConflicts" })
export default class PlanConflict extends Model<PlanConflict> {
@AllowNull(false)
@ForeignKey(() => Plan)
@Column(DataType.INTEGER)
public planId: number;
@AllowNull(false)
@ForeignKey(() => Conflict)
@Column(DataType.INTEGER)
public conflictId: number;
}
は、エピローグを使用して、この表のためのエンドポイントを生成するための私の試みです:
epilogue.resource({
model: PlanConflict,
endpoints: ["/plan-conflicts", "/plan-conflicts/:id"],
pagination: false,
search: [
{
operator: "$eq",
param: "plan-id",
attributes: [ "planId" ]
},
{
operator: "$eq",
param: "conflict-id",
attributes: [ "conflictId" ]
}
]
});
私は新しい競合を作成することができるよ、と私ができますhttp://localhost:3000/plan-conflicts?plan-id=9&conflict-id=1
という形式のURLを使用してリスティングを取得しますが、どのように更新または削除を実行するかわかりません。エピローグの検索機能は、リスティングにのみ使用できます。
したがって、プライマリ・キーを持たないジャンクション・テーブルのアイテムを更新または削除できるかどうかを確認したい場合は、その方法を知りたいと思います。