compact('username'))); $watching = array(); $paused = array(); $dropped = array(); $planning = array(); $finished = array(); foreach($user->animelist as $entry) { switch($entry->my_status) { case "Completed": $finished[] = $entry; break; case "Watching": $watching[] = $entry; break; case "On-Hold" : $paused[] = $entry; break; case "Dropped" : $dropped[] = $entry; break; case "Plan to Watch": $planning[] = $entry; break; } } //In the future we can use set or something switch($sort) { case "planning" : return compact('user', 'planning'); break; case "completed" : return compact('user', 'finished'); break; case "onhold": return compact('user', 'paused'); break; case "watching" : return compact('user', 'watching'); break; case "dropped": return compact('user', 'dropped'); default: return compact('user', 'watching', 'paused', 'dropped', 'planning', 'finished'); break; } } public function add($id) { if (empty($this->request->data)) { $anime = Anime::find('first', array('conditions' => array('special_id' => $id))); $entry = null; return compact('anime', 'entry'); } $entry = Entry::create($this->request->data); if (isset($this->request->data['tags'])) { $entry->my_tags = explode(' ', $this->request->data['tags']); unset($this->request->data['tags']); } if ($entry->validates()) { $entry->add($username); return $this->redirects('Animelist::Index'); } return $entry; } }