ArticlePresenter.php 679 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace App\Presenters;
  3. use App\Models\Article;
  4. /**
  5. * Class ArticlePresenter
  6. *
  7. * @package namespace App\Presenters;
  8. */
  9. class ArticlePresenter
  10. {
  11. /**
  12. * 获取热门文章
  13. *
  14. * @return mixed
  15. */
  16. public function hotArticleList()
  17. {
  18. return Article::query()
  19. ->orderBy('read_count', 'desc')
  20. ->paginate(8, [
  21. 'id',
  22. 'title',
  23. 'read_count'
  24. ]);
  25. }
  26. public function formatTitle($title)
  27. {
  28. if (strlen($title) <= 20) {
  29. return $title;
  30. } else {
  31. return mb_substr($title, 0, 20, 'utf-8')."...";
  32. }
  33. }
  34. }