public function brefJoin() { $paginator = ArticleJoin::select('id', 'user_id', 'created_at')->where('article_id', Input::get('article_id'))->with(['parts' => function ($query) { $query->orderBy('id', 'acs'); }, 'user' => function ($query) { $query->select('id', 'username', 'avatar'); }])->paginate((int) Input::get('per_page')); $article_joins = $paginator->getCollection(); foreach ($article_joins as $article_join) { $user = $article_join->user; $parts = $article_join->parts; $article_join->username = $user->username; $article_join->avatar = $user->avatar; $text = ''; $imgs = []; foreach ($parts as $part) { if ($part->type == 'text' && empty($text)) { $text = $part->content; } else { if ($part->type == 'url' && count($imgs) < 4) { array_push($imgs, $part->content); } } } $article_join->text = $text; $article_join->imgs = $imgs; unset($article_join->user); unset($article_join->parts); } return Response::json(['errCode' => 0, 'message' => '返回参与话题内容', 'article_joins' => $article_joins, 'total' => $paginator->getTotal()]); }