$this->lang_id, 'unique_label' => 'BANNER_67ff632a5f7aa' ]) ->type('image') ->enabled(true) ->visible(['id', 'title', 'title_txt_color', 'image', 'desc', 'desc_txt_color', 'link']) ->order(['sort' => 'asc', 'id' => 'desc']) ->select(); View::assign('banners', $banners); return View::fetch('story'); } /** * 品牌里程 */ public function mileage() { $achievement = []; $events = []; $development = []; // 获取品牌里程banner $banner = SysBannerModel::with(['items']) ->uniqueLabel([ 'BANNER_67ff786dc9c8d', 'BANNER_67ff7ef1354cf', 'BANNER_67ff7f37a0b67', ]) ->language($this->lang_id) ->enabled(true) ->select(); if (!$banner->isEmpty()) { $banner_map = []; foreach ($banner as $v) { $banner_map[$v->unique_label] = $v; } $achievement = $banner_map['BANNER_67ff786dc9c8d']->items->where('status', '=', 1)->toArray(); $events = $banner_map['BANNER_67ff7ef1354cf']->items->where('status', '=', 1)->toArray(); $development = $banner_map['BANNER_67ff7f37a0b67']->items->where('status', '=', 1)->toArray(); // 排序(避免关联方法使用order排序bug) array_multisort(array_column($achievement, 'sort'), SORT_ASC, array_column($achievement, 'id'), SORT_DESC, $achievement); array_multisort(array_column($events, 'sort'), SORT_ASC, array_column($events, 'id'), SORT_DESC, $events); array_multisort(array_column($development, 'sort'), SORT_ASC, array_column($development, 'id'), SORT_DESC, $development); } View::assign('achievement', $achievement); View::assign('events', $events); View::assign('development', $development); return View::fetch('mileage'); } }