0

私はレールとプラグインを使用してタグを管理しています - 私が使用しているクエリには - タスクテーブル (ユーザーとの多対多の関係) - タグテーブル (タグへの参照を保存します - id (int), name (string ) ) - タグ付け可能なテーブル (タグ、タグ付け可能なアイテム、およびそのアイテムのタガー (私の場合はタスク) を参照する多態的なテーブル)

SQLは次のとおりです。

ActsAsTaggableOn::タグの読み込み (0.1ms)

SELECT "tags".* FROM "tags" WHERE (lower(name) = '#sharedtag')

タスク負荷 (0.4ms)

SELECT "tasks".* 
FROM "tasks" INNER JOIN "task_relationships" 
ON "tasks"."id" = "task_relationships"."task_id" 
JOIN taggings tasks_taggings_f7b47be 
ON tasks_taggings_f7b47be.taggable_id = tasks.id 
AND tasks_taggings_f7b47be.taggable_type = 'Task' 
AND tasks_taggings_f7b47be.tag_id = 23 
WHERE "task_relationships"."user_id" = 1 
ORDER BY tasks.created_at DESC 

私が混乱しているのは、タスク ロードの 3 行目ですtasks_taggings_f7b47be.tag_id。どこからともなく現れます。ある種の一時テーブルまたは作成された結合テーブルへの参照であると思いますが、最近SQLの調査を開始したばかりです。

説明、リンク、または一般的な知識をいただければ幸いです。

4

1 に答える 1