/**
  * Reports on categories without any transactions.
  */
 private function reportCategories()
 {
     $set = Category::leftJoin('category_transaction_journal', 'categories.id', '=', 'category_transaction_journal.category_id')->leftJoin('users', 'categories.user_id', '=', 'users.id')->distinct()->whereNull('category_transaction_journal.category_id')->whereNull('categories.deleted_at')->get(['categories.id', 'categories.name', 'categories.user_id', 'users.email']);
     /** @var stdClass $entry */
     foreach ($set as $entry) {
         $line = 'Notice: User #' . $entry->user_id . ' (' . $entry->email . ') has category #' . $entry->id . ' ("' . Crypt::decrypt($entry->name) . '") which has no transactions.';
         $this->line($line);
     }
 }