function find_keyword($keyword_name) { # Attempt to find keyword $keyword = KeywordQuery::create()->useKeywordSynonymQuery()->filterByValue($keyword_name)->endUse()->findOne(); # Handle keyword if ($keyword) { # Return keyword return $keyword; } else { # Create keyword $keyword = new Keyword(); $keyword->setValue($keyword_name)->save(); # Create synonym $synonym = new Synonym(); $synonym->setKeyword($keyword)->setValue($keyword_name)->save(); # Return keyword return $keyword; } }