Eloquet Model には query()
というメソッドが存在し、それで取得できる。
>>> App\User::query()
=> Illuminate\Database\Eloquent\Builder {}
例えば、Commands で以下のようなことをしたいときにいい感じに書ける。
$query = App\User::query();
// オプションが指定されていたら条件を付与する
if (!empty($this->option('status'))) {
$query->where('status', $this->option('status'));
}
// Builder オブジェクトに対する処理(例えば chunk)
$query->chunk(10, function ($users) {
// 処理
});
確認環境
- PHP 7.0
- Laravel 5.4