/** * Increment the engagement for the current experiment. * * @return void */ public function interact() { // Only interact once per experiment. if ($this->session->get('interacted')) { return; } $experiment = Experiment::firstOrNew(['name' => $this->experiment()]); $experiment->engagement++; $experiment->save(); // Mark current experiment as interacted. $this->session->set('interacted', 1); }