['service_fee', 'goods_status', 'goods_id', 'external_goods_sn', 'external_platform_id'], ]; } /** * @notes 获取列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2025/03/21 19:09 */ public function lists(): array { $lists = ExternalPlatformGoods::with(['goods','externalPlatform'])->where($this->searchWhere) ->field(['id', 'service_fee', 'goods_status', 'goods_id', 'external_goods_sn', 'external_platform_id']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select() ->toArray(); $goodsCategoryObj = GoodsCategory::where(['status'=>1])->order(['pid' => 'asc','weigh' => 'desc', 'id' => 'desc'])->select(); foreach ($lists as &$item) { if($item['goods']){ $item['goods']['goods_category_ids'] = array_map("intval",$item['goods']['goods_category_ids']??[]); $item['goods']['goods_category_ids_str'] = implode(' / ',$goodsCategoryObj->whereIn('id', $item['goods']['goods_category_ids']??[])->column('name')); $item['goods']['goods_image'] = $item['goods']['goods_image'] ? FileService::getFileUrl($item['goods']['goods_image']):null; $item['goods']['goods_video'] = $item['goods']['goods_video'] ? FileService::getFileUrl($item['goods']['goods_video']):null; } } return $lists; } /** * @notes 获取数量 * @return int * @author likeadmin * @date 2025/03/21 19:09 */ public function count(): int { return ExternalPlatformGoods::where($this->searchWhere)->count(); } }