Files
sbnews/server/app/adminapi/logic/community/CommunityCategoryLogic.php
T

73 lines
2.0 KiB
PHP

<?php
namespace app\adminapi\logic\community;
use app\common\logic\BaseLogic;
use app\common\model\community\CommunityCategory;
use app\common\model\community\CommunityPost;
class CommunityCategoryLogic extends BaseLogic
{
public static function add(array $params): bool
{
try {
CommunityCategory::create([
'name' => trim($params['name']),
'icon' => $params['icon'] ?? '',
'sort' => $params['sort'] ?? 0,
'status' => $params['status'] ?? 1,
]);
return true;
} catch (\Exception $e) {
self::setError($e->getMessage());
return false;
}
}
public static function edit(array $params): bool
{
try {
CommunityCategory::update([
'id' => $params['id'],
'name' => trim($params['name']),
'icon' => $params['icon'] ?? '',
'sort' => $params['sort'] ?? 0,
'status' => $params['status'] ?? 1,
]);
return true;
} catch (\Exception $e) {
self::setError($e->getMessage());
return false;
}
}
public static function delete(array $params): bool
{
if (CommunityPost::where('category_id', $params['id'])->count() > 0) {
self::setError('该分类下存在帖子,不能删除');
return false;
}
try {
CommunityCategory::destroy($params['id']);
return true;
} catch (\Exception $e) {
self::setError($e->getMessage());
return false;
}
}
public static function detail(array $params): array
{
return CommunityCategory::findOrEmpty($params['id'])->toArray();
}
public static function all(): array
{
return CommunityCategory::order('sort', 'desc')
->order('id', 'desc')
->select()
->toArray();
}
}