- 18 张公共表更名(addon/attachment/configure/links/spider_log/spider_stat/sms/notice/ad/task/prop/medal/help/card -> common_*,member_wallets->member_wallet,score_rule/score_log -> member_*,addon_config->common_addonconf),模型全部对齐新表名,Db 直引用清零 - Attachment 模型补 表名绑定,修复富文本上传查 wxapp_attachment 1146 隐患 - install.sql + 迁移 SQL:backend_admin/backend_role delete_at 默认 0,修复软删除(NULL != 0)误过滤导致后台菜单为空 - AppService::boot() 支持插件 info.php 声明 commands 自动注册插件命令(psr-4 自动加载,坏类名自动跳过) - 各插件(haonav/mqttbroker/wxchat/articles/blog/forum 等)字段与配置同步调整 - 框架版本 1.1.0 -> 1.1.1
75 lines
1.7 KiB
PHP
75 lines
1.7 KiB
PHP
<?php
|
||
|
||
declare (strict_types = 1);
|
||
|
||
namespace addon\download\model;
|
||
|
||
use ywxapp\model\BaseModel;
|
||
|
||
class Resource extends BaseModel
|
||
{
|
||
protected $defaultSoftDelete = 0;
|
||
protected $deleteTime = 'delete_at';
|
||
|
||
protected function getOptions(): array
|
||
{
|
||
return [
|
||
'strict' => false,
|
||
'name' => 'download_resource',
|
||
'autoRelation' => [],
|
||
'createTime' => 'create_at',
|
||
'updateTime' => 'update_at',
|
||
'dateFormat' => 'Y-m-d H:i:s',
|
||
];
|
||
}
|
||
|
||
/**
|
||
* 所属分类
|
||
*/
|
||
public function category()
|
||
{
|
||
return $this->belongsTo(Category::class, 'cid', 'id');
|
||
}
|
||
|
||
/**
|
||
* 文件大小友好显示(字节 -> KB/MB/GB)
|
||
*/
|
||
public function getSizeTextAttr($value, $data)
|
||
{
|
||
$size = (int)($data['file_size'] ?? 0);
|
||
if ($size <= 0) {
|
||
return '-';
|
||
}
|
||
$units = ['B', 'KB', 'MB', 'GB', 'TB'];
|
||
$i = 0;
|
||
while ($size >= 1024 && $i < count($units) - 1) {
|
||
$size /= 1024;
|
||
$i++;
|
||
}
|
||
return round($size, 2) . ' ' . $units[$i];
|
||
}
|
||
|
||
/**
|
||
* 列表查询作用域:仅正常且已审
|
||
*/
|
||
public function scopeVisible($query)
|
||
{
|
||
return $query->where('status', 1)->where('is_audit', 1);
|
||
}
|
||
|
||
/**
|
||
* 分类名称(依赖预载入的 category 关联)
|
||
*/
|
||
public function getCategoryTitleAttr($value, $data)
|
||
{
|
||
if (isset($this->category) && $this->category) {
|
||
return $this->category->title;
|
||
}
|
||
$cid = (int)($data['cid'] ?? 0);
|
||
if ($cid > 0) {
|
||
return (new Category())->where('id', $cid)->value('title') ?: '-';
|
||
}
|
||
return '-';
|
||
}
|
||
}
|