argument('time') ?? now()->format('H:i'); $schedules = FeedSchedule::whereTime('scheduled_at', $time)->get(); if ($schedules->isEmpty()) { $this->info("No schedules found for time: {$time}"); return 0; } foreach ($schedules as $schedule) { foreach ($schedule->feeds as $feed) { $quantity = $feed->pivot->quantity; $decrement = min($quantity, $feed->stock); $feed->decrement('stock', $decrement); FeedDelivery::create([ 'feed_id' => $feed->id, 'quantity' => $quantity, 'delivered_at' => now(), ]); } } $this->info('Processed '.$schedules->count()." feed schedules for time: {$time}"); return 0; } }