1
多対多の関係のために接合テーブルを使用して結合を行う方法を理解しようとしています。私は続けることでそれを設定しましたが、自分の理由から私はknexを好む。私は、これらの結合を接合テーブルを使って行う方法をよりよく理解するために、クエリをknexに変換しようとしています。sequelizeクエリをknxに変換
基本的に私はmembers
とevents
と接合テーブルmembers_events
を持っています。私の結果は次のようになります:
[{
event_id,
title,
description
members: [
{
member_id,
etc
}...
]
}...]
この正しいフォーマットは、sequelizeを使用して取得します。動作する続行クエリによって生成されるコードはこれです。
SELECT "event".*, "members"."id"
AS "members.id", "members"."name"
AS "members.name", "members->members_events"."createdAt"
AS "members.members_events.createdAt", "members->members_events"."updatedAt"
AS "members.members_events.updatedAt", "members->members_events"."memberId"
AS "members.members_events.memberId", "members->members_events"."eventId"
AS "members.members_events.eventId"
FROM (SELECT "event"."id", "event"."title" FROM "events" AS "event" LIMIT 15)
AS "event"
LEFT OUTER JOIN ("members_events" AS "members->members_events"
INNER JOIN "members" AS "members"
ON "members"."id" = "members->members_events"."memberId")
ON "event"."id" = "members->members_events"."eventId";
可能であれば、knex.rawクエリではなく、これをknexクエリに変換する手助けをすることができます。ありがとう。
代わりにbookshelf.jsを使用することにしました。これを簡単にやり遂げることができました。後継に比べて満足しています。 –