CommentTransformer.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2019/6/15
  6. * Time: 16:40
  7. */
  8. namespace App\Transformers\Post;
  9. use App\Models\PostComment;
  10. use Carbon\Carbon;
  11. use League\Fractal\TransformerAbstract;
  12. class CommentTransformer extends TransformerAbstract
  13. {
  14. public function transform(PostComment $postComment)
  15. {
  16. $replies = PostComment::where('parent_id', $postComment['id'])->orderBy('id', 'desc')->limit(2)->get();
  17. $reply = [];
  18. foreach($replies as $val){
  19. $reply[] = [
  20. 'uid' => $val->uid,
  21. 'nickname' => $val->nickname,
  22. 'avatar' => $val->avatar,
  23. 'reply_username' => $val->reply_username,
  24. 'content' => $val->content,
  25. ];
  26. }
  27. return [
  28. 'id' => $postComment['id'],
  29. 'uid' => $postComment['uid'],
  30. 'username' => $postComment['username'],
  31. 'avatar' => $postComment['avatar'],
  32. 'content' => $postComment['is_delete']?'该评论已被删除':$postComment['content'],
  33. 'created_at' => Carbon::parse($postComment['created_at'])->diffForHumans(),
  34. 'reply_count' => $postComment->reply->count(),
  35. 'reply' => $reply,
  36. ];
  37. }
  38. }