'timestamp:Y-m-d H:i', 'updatetime' => 'timestamp:Y-m-d H:i', ]; const TYPE_INCOME = 1; const TYPE_EXPENDITURE = 2; // public function users() { return $this->hasOne(User::class,'id','user_id')->field('id,nickname'); } public function stockconfig() { return $this->hasOne(StockConfig::class,'id','variety_id')->field('id,title'); } //按照类型统计 收入- 支出 public static function getCountBalance(int $user_id = 0, string $time = '') { $income = self::where('type', self::TYPE_INCOME); if(!empty($user_id) && !empty($time)){ $income = $income->where('user_id', $user_id)->whereMonth('create_date', $time); } $income = $income->sum('change'); //支出 $expenditure = self::where('type', self::TYPE_EXPENDITURE); if(!empty($user_id) && !empty($time)){ $expenditure = $expenditure->where('user_id', $user_id)->whereMonth('create_date', $time); } $expenditure = $expenditure->sum('change'); $balance = $income - $expenditure; return [ 'balance' => $balance, 'income' => $income, 'expenditure' => $expenditure ]; } }