successJson('ok', $this->getList()); } public function getList() { if (!request()->goods_id) { throw new AppException('请输入商品ID'); } $model = MicroCommunitiesStick::uniacid() ->where(['goods_id' => request()->goods_id, 'is_show' => 1, 'type' => 1]) ->with(['hasOneStickUser' => function ($query) { $query->select('avatar', 'nickname', 'uid'); }, 'hasManyComment' => function ($q2) { $q2->select('stick_id', 'id'); },'hasManyImage'=> function ($query){ $query->where('is_del',0)->select('id','stick_id','url'); }]) ->select(['id','praise_num','user_id','title']) ->orderBy('created_at', 'desc') ->paginate(10, ['*'], '', (int)request()->page ?: 1); $recordsModels = $model->toArray(); $recordsModels['data'] = collect($recordsModels['data'])->map(function ($item) { $item['has_one_stick_user']['avatar'] = yz_tomedia($item['has_one_stick_user']['avatar']); $item['has_many_image'] = set_medias($item['has_many_image'], 'url'); $collection = collect($item) ->put('comment_num', count($item['has_many_comment'])); return $collection; }); return $recordsModels; } }