// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\common\model\article; use cores\BaseModel; use think\model\relation\HasOne; /** * 文章分类模型 * 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); } /** * 关联用户头像表 * @return HasOne */ public function catImg(): HasOne { $module = self::getCalledModule(); return $this->hasOne("app\\{$module}\\model\\UploadFile", 'file_id', 'img_id') ->bind(['img_url' => 'preview_url']); } /** * 获取列表 * @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 { return $this->where($where)->with(['catImg']) ->order(['sort', $this->getPk()]) ->select(); } }