■テーブル構成
articles
・id
article_areas(中間テーブル)
・id
・article_id
・area_id
areas
・id
上記のようなテーブル構成で、article_areasのidで昇順にソートしたい場合、withPivot()を使用してorderBy()をするような記事をネットで見かけるけど、単純に中間テーブルでソートしたいだけなら、通常のソートと同じようにorderBy(“中間テーブル.カラム名”, “ASC or DESC”)
orderBy('article_areas.id', "ASC")
で問題ない。
中間テーブルのカラムを抽出したい場合に、withPivot()を使用すれば良い。
ちなみに、selectした中間テーブルのカラムは、以下のようにして取得できる。
$model->pivot->withPivotした中間テーブルのカラム名
$model->pivot->id