/** * Register any other events for your application. * * @param \Illuminate\Contracts\Events\Dispatcher $events */ public function boot(DispatcherContract $events) { parent::boot($events); Article::observe(DetachCategoriesBeforeArticleDelete::class); Media::observe(UploadFileWhenAddingMedia::class); Media::observe(RemoveFileWhenDeletingMedia::class); Series::observe(RemoveArticlesWhenDeletingSeries::class); Category::observe(DetachArticlesWhenDeletingCategory::class); }
/** * Execute the console command. * * @return mixed */ public function handle() { $filePath = $this->argument('path'); $exportData = json_decode(file_get_contents($filePath), true); foreach ($exportData as $singleArticle) { $user = $this->findOrCreateUserFor($singleArticle); $series = $this->findOrCreateSeriesFor($singleArticle); $categories = $this->findOrCreateCategoriesFor($singleArticle); $article = Article::createFromData($singleArticle['title'], $singleArticle['digest'], $singleArticle['body'], $singleArticle['metadescription']); $article->publish(new Carbon($singleArticle['published_at'])); $this->dispatch(new SaveArticleCommand($article, $user, $categories, $series)); } $this->info('Import procedure completed.'); }
/** * Cancella dal database l'articolo $article. * * @param Article $article * @throws NotDeletedException * @throws \Exception */ public function delete(Article $article) { if (!$article->delete()) { throw new NotDeletedException(); } }
public function assignTestSeriesToArticle(Series $series, Article $article) { $article->series()->associate($series); $article->save(); }
public function deleting(Article $article) { $article->categories()->detach(); }