/** * Create a day's sleep */ private function createDaySleep($index, $finishMinutes) { $today = Carbon::today(); $this->date = $today->subDays($index); $entry = new Timer(['start' => $this->date->hour(16)->format('Y-m-d H:i:s'), 'finish' => $this->date->hour(17)->minute($finishMinutes)->format('Y-m-d H:i:s')]); $entry->user()->associate($this->user); $entry->activity()->associate(Activity::where('name', 'sleep')->where('user_id', $this->user->id)->first()); $entry->save(); }
/** * * @param Request $request * @param Timer $timer * @return Response */ public function update(Request $request, Timer $timer) { // Create an array with the new fields merged $data = array_compare($timer->toArray(), $request->only(['start', 'finish'])); $timer->update($data); if ($request->has('activity_id')) { $timer->activity()->associate(Activity::findOrFail($request->get('activity_id'))); $timer->save(); } // dd($timer); $finishDate = $this->calculateFinishDate($timer); $timer = $this->transform($this->createItem($timer, new TimerTransformer(['date' => $finishDate])))['data']; return response($timer, Response::HTTP_OK); }