The*_*ine 2 php laravel eloquent laravel-collection laravel-5.6
我想获取每个月的数量总和,以便我可以在条形图上按月显示数量
这是我想的但没有锻炼
$data1 = Borrow::groupBy(function($d) {
return Carbon::parse($d->created_at)->format('m')->sum('quantity');
})->get();
Run Code Online (Sandbox Code Playgroud)
我的表结构
Schema::create('borrows', function (Blueprint $table) {
$table->increments('id');
$table->integer('member_id');
$table->integer('book_id');
$table->integer('quantity');
$table->integer('status')->default(0);
$table->timestamps();
});
Run Code Online (Sandbox Code Playgroud)
一个集合 group by 不是一个雄辩的 groupby
如果你想用 eloquent 做到这一点,必须:
$data1 = Borrow::selectRaw('SUM(quantity) as qt, MONTH(created_at) as borrowMonth')
->groupBy('borrowMonth')->get();
Run Code Online (Sandbox Code Playgroud)
如果你想用集合 groupBy 方法来做,你应该先做 get,然后是 groupBy。
就像在,虽然我不确定你想用你在回调中做什么来完成什么..
$data1 = Borrow::get()->groupBy(function($d) {
return Carbon::parse($d->created_at)->format('m')->sum('quantity');
});
Run Code Online (Sandbox Code Playgroud)