Queryの共通化
例えばこんなQueryがあったとして
$users = \App\User::where('age', '>=', 20)
->whereDate('created_at', today())
->get();
modelで
public function scopeSearch($query,$age) {
return $query->where('age', '>=', $age)
->whereDate('created_at', today());
}
などとしておけば
$user = User::scopeSearch($age)->get();
という感じで使える。
ただし、LaravelでModelのソートをする場合、Collectionでおこうことが多いですが、これはQueryビルダなどの領域なのでget()やall()をした後は呼べません。