ここに記載されているとおり設定をすればN+1が発生したときにExceptionを発生させてくれる。
Laravel 8.x Eloquent:リレーション 遅延ロードの防止
具体的には AppServiceProvider クラスの boot メソッドで以下のようにする。
use Illuminate\Database\Eloquent\Model;
/**
* アプリケーションの全サービスの初期起動処理
*
* @return void
*/
public function boot()
{
Model::preventLazyLoading(! $this->app->isProduction());
}
このようにすれば、本番環境以外でN+1が発生した場合にExceptionが発生する。かなりよさげ