get()->each(function ($portfolio) { $this->line('Capturing daily change for '.$portfolio->title); $total_cost_basis = $portfolio->holdings->sum('total_cost_basis'); $total_dividends = $portfolio->holdings->sum('dividends_earned'); $realized_gains = $portfolio->holdings->sum('realized_gain_dollars'); $total_market_value = $portfolio->holdings->sum(function ($holding) { return $holding->market_data->market_value * $holding->quantity; }); $portfolio->daily_change()->create([ 'date' => now(), 'total_market_value' => $total_market_value, 'total_cost_basis' => $total_cost_basis, 'total_gain' => $total_market_value - $total_cost_basis, 'total_dividends_earned' => $total_dividends, 'realized_gains' => $realized_gains, ]); }); } }