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に載せていくので、他のも余裕があれば見てみてください♪