coupon-admin/app/repository/CmsRepository.php

49 lines
1.3 KiB
PHP

<?php
namespace app\repository;
use app\traits\cms\ArticleTrait;
use app\traits\cms\MenuTrait;
use app\traits\CmsCategoryTrait;
use think\db\exception\DataNotFoundException;
use think\db\exception\DbException;
use think\db\exception\ModelNotFoundException;
use think\Model;
use app\service\Repository;
/**
* CMS 基础功能仓储
*
* Class CmsRepository
* @package app\repository
* @method self getInstance(Model $model = null) static
*/
class CmsRepository extends Repository
{
use CmsCategoryTrait;
use MenuTrait;
use ArticleTrait;
/**
* xmSelect下拉列表格式处理
* 如 [['title' => 'aa', 'value' => 1, 'selected' => true, 'prefix' => '&nbsp;&nbsp;&nbsp;&nbsp;']]
*
* @param array $data 待处理的数据
* @param string $symbol 分隔符号 默认 &nbsp;
* @param int $repeatNum 重复次数 默认4
* @return array
*/
public function handleSelectedList(array $data, string $symbol = '&nbsp;', int $repeatNum = 4): array
{
$list = [];
foreach ($data as $item) {
$level = $item['level'] ?? 0;
$arr = $item;
$arr['children'] = $arr['children'] ?? [];
$arr['prefix'] = str_repeat($symbol, $level * $repeatNum);
$list[] = $arr;
}
return $list;
}
}