public function setUpdatedToToday() { $song = new Song(); $sortedPlaylist = $song->orderby('updated_at', 'asc')->get(); $previousSongsDuration = 0; $now = Carbon::now('UTC')->addHours(2); foreach ($sortedPlaylist as $key => &$value) { $key = intval(json_encode($key)); if ($key === 0) { $value->updated_at = $now; } else { $previousSongsDuration += $sortedPlaylist[$key - 1]->video_duration; } $nextUpdateAtStop = $now->timestamp + $previousSongsDuration; $value->updated_at = Carbon::createFromTimestamp($nextUpdateAtStop)->toDateTimeString(); $value->save(); } return \Response::json($sortedPlaylist); }