Eloquent Has By Non-dependent Subquery

OVERVIEW

Laravel の Eloquent において, has() や whereHas() を用いてリレーション先の存在で絞り込みをかけるとき,相関サブクエリを排除して高速な SQL にするためのライブラリ

YEAR 2020

概要

Laravel の Eloquent Model にはリレーションを定義でき, has() や whereHas() といったメソッドを用いて「リレーション先が存在するかどうか」という条件で絞り込みをかけることもできる。ところがこのクエリは非常に非効率で,常に相関サブクエリになってしまう大きな弱点がある。これを非相関サブクエリまたは JOIN に書き換えるためのライブラリを開発し,実際の現場において高速化に貢献した。

詳細



WEBSITE