見出し画像

Laravel8でのサブクエリの使い方

ときどき、サブクエリって使いたくなりますよね!

ということで、どういう風に使うかをさくっと書いていきます。

結論から言うと、クロージャを使えば良いということです!

use App\Models\Income;

$incomes = Income::where('amount', '<', function ($query) {
   $query->selectRaw('avg(i.amount)')->from('incomes as i');
})->get();

$queryにselectだったりfromだったりと繋げてあげるだけ。
めちゃめちゃ簡単ですね!

whereInとかでも使えるので、こんな感じで使ってもらえると良いかなと思います。

use App\Models\Article;

$articles = Article::whereIn('id', function ($query) {
   $query->select('u.id')->from('users as u')->where('u.status', true);
})->get();

簡単ですね!

基本的にこちらに書いてあるので、他のこともやりたかったらぜひ♪

プラスαで例文もnoteに載せていくので、他のも余裕があれば見てみてください♪

この記事が気に入ったらサポートをしてみませんか?