public function generate_unique_token() { do { $this->token = Model_Auth_User_Token::generate_token(); $collection = Jam::all($this->meta()->model())->where_key($this->token)->limit(1); } while (Jam::all($this)->where('token', '=', $this->token)->limit(1)->count_all() > 0); return $this; }