where('agent_id', $this->agent_id) ->orderBy('sort') ->orderBy('id') ->get(['id', 'pid', 'name', 'icon']); $prefix = Storage::disk('public')->url(''); foreach ($list as $k => &$v) { $v->icon = $prefix . $v->icon; } return $this->success($list); } // 我的频道 public function my() { $channel_ids = UserChannel::where('user_id', $this->user_id)->value('channels'); $list = Channel::whereIn('id', $channel_ids)->get(['id', 'pid', 'name', 'icon']); return $this->success($list); } //根据频道ID获取产品 public function product() { $channel_id = (int)request()->input('channel_id'); $list = AgentProduct::list($this->agent_id) ->whereRaw("FIND_IN_SET($channel_id, `channel_id`)") ->orderBy('id', 'DESC') ->simplePaginate(); $list = $this->paginatePicAddHost($list); return $this->success($list); } //分页列表产品图片加域名 private function paginatePicAddHost($list) { if (!$list->isEmpty()) { $prefix = Storage::disk('public')->url(''); foreach ($list->items() as $k=>&$v) { $v->pictures = array_map(function($item) use ($prefix) { return strpos($item, $prefix) === false ? $prefix . $item : $item; }, $v->pictures); } } return $list; } }