public function setAuthor($v) { if (!empty($v)) { $author = Author::findOneByColumn('author_name', $v); if (false !== $author) { $this->data['author_id'] = $author->id; } else { $author = new Author(); $author->author_name = $v; $author->save(); $this->data['author_id'] = $author->id; } } else { throw new \Exception('Забыли указать автора'); } }