これまでに作った機能について簡単にまとめていく。

今回は、

子モデルを持たないレコードの取得

前提条件

アソシエーションが設定されていること(今回はラベル機能を作成済み)
ラベル機能の詳細はこちら

使用モデル

Taskモデル

カラム データ型
1 name string
2 content text

Labelモデル

カラム データ型
1 name string

TaskLabelsモデル

カラム データ型
1 task_id bigint
2 label_id bigint

設定アソシエーション

app/models/task.rb

app/models/task_label.rb

app/models/label.rb

子モデルを持たないレコードの取得

変更前

変更後

概要

TaskモデルとLabelモデルをLEFT JOIN(左外部結合)し、
その後、labelのidを持たないTaskのレコードを全て取得している。

以上で作成完了