52 lines
1.3 KiB
PHP
52 lines
1.3 KiB
PHP
<?php
|
|
namespace app\api\logic;
|
|
|
|
use app\common\basics\Logic;
|
|
use app\common\model\goods\GoodsBrand;
|
|
|
|
class GoodsBrandLogic extends Logic
|
|
{
|
|
/**
|
|
* 获取品牌列表
|
|
*/
|
|
public static function getGoodsBrandList()
|
|
{
|
|
$where = [
|
|
'del' => 0, // 未删除
|
|
'is_show' => 1, // 显示
|
|
];
|
|
$list = GoodsBrand::field('id,name,image,initial')
|
|
->where($where)
|
|
->order('sort', 'asc')
|
|
->select()
|
|
->toArray();
|
|
|
|
return self::format($list);
|
|
}
|
|
|
|
/**
|
|
* 格式化品牌数据
|
|
*/
|
|
public static function format($list)
|
|
{
|
|
// 生成A-Z字母
|
|
$letters = range('A', 'Z');
|
|
$newList = [];
|
|
foreach($letters as $key => $letter) {
|
|
$newList[$key]['letter'] = $letter;
|
|
$newList[$key]['list'] = [];
|
|
foreach($list as $item) {
|
|
if(strtoupper($item['initial']) == $letter) {
|
|
$newList[$key]['list'][] = $item;
|
|
}
|
|
}
|
|
// 去除字母下没有品牌的项
|
|
if(!$newList[$key]['list']) {
|
|
unset($newList[$key]);
|
|
}
|
|
}
|
|
// 重置下标索引
|
|
$newList = array_merge([], $newList);
|
|
return $newList;
|
|
}
|
|
} |