You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yanzong/app/common/model/article/Category.php

67 lines
2.0 KiB

11 months ago
<?php
// +----------------------------------------------------------------------
// | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2017~2023 https://www.yiovo.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
// +----------------------------------------------------------------------
// | Author: 萤火科技 <admin@yiovo.com>
// +----------------------------------------------------------------------
declare (strict_types=1);
namespace app\common\model\article;
use cores\BaseModel;
11 months ago
use think\model\relation\HasOne;
11 months ago
/**
* 文章分类模型
* Class Category
* @package app\common\model
*/
class Category extends BaseModel
{
// 定义表名
protected $name = 'article_category';
// 定义主键
protected $pk = 'category_id';
/**
* 分类详情
* @param int $categoryId
* @return static|array|null
*/
public static function detail(int $categoryId)
{
return static::get($categoryId);
}
11 months ago
/**
* 关联用户头像表
* @return HasOne
*/
public function catImg(): HasOne
{
$module = self::getCalledModule();
return $this->hasOne("app\\{$module}\\model\\UploadFile", 'file_id', 'img_id')
11 months ago
->bind(['img_url' => 'preview_url']);
}
11 months ago
/**
* 获取列表
* @param array $where
* @return \think\Collection
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function getList(array $where = []): \think\Collection
{
11 months ago
return $this->where($where)->with(['catImg'])
11 months ago
->order(['sort', $this->getPk()])
->select();
}
}