/** * Creates a new edition on * the passed article ID. * * @param int $articleID * @param str $editionContent * @param User $user * * @throws ModelNotFoundException * * @return Edition **/ public function createEdition($articleID, $editionContent, User $user) { // TODO: Use a repository static method for this if (method_exists(Article::class, 'newQuery')) { Article::findOrFail($articleID); } $edition = new Edition(); $edition->article_id = $articleID; $edition->content = $editionContent; $edition->created_by = $user->id; $edition->save(); return $edition; }
/** * Creates an edition and stores * it into the DB. * * @param User $user * @param Article $article * @param str $content * @param int $count * * @return Edition */ public function createEdition(User $user, Article $article, $content = null, $count = 1) { $editions = []; if (!$content) { $content = static::$defaultContent; } for ($i = 0; $i < $count; $i++) { $editionsCount = count($editions); $newContent = $editionsCount > 1 ? $content . $editionsCount : $content; $edition = new Edition(); $edition->content = $newContent; $edition->article_id = $article->id; $edition->created_by = $user->id; $edition->save(); $editions[] = $edition; } return count($editions) > 1 ? $editions : $editions[0]; }