webman/app/model/APP/Announcement.php

110 lines
2.5 KiB
PHP
Raw Normal View History

2025-02-15 19:43:32 +08:00
<?php
namespace app\model\app;
use support\Model;
/**
* @property integer $id ID (主键)
* @property string $title 标题
* @property string $content 内容 (包含 HTML)
* @property integer $status 状态 0禁用 1启用
* @property string $status_text 状态文本
* @property integer $createtime 创建时间
* @property integer $updatetime 更新时间
*/
class Announcement extends Model
{
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'announcements'; // 表名
/**
* The primary key associated with the table.
*
* @var string
*/
protected $primaryKey = 'id'; // 主键
/**
* Indicates if the model should be timestamped.
*
* @var bool
*/
public $timestamps = true; // 不使用自动时间戳
/**
* 可以赋值字段
*
* @var array
*/
protected $fillable = [
'title',
'content',
'status',
'status_text',
'createtime',
'updatetime',
];
/**
* 字段类型
*
* @var array
*/
protected $casts = [
'createtime' => 'integer',
'updatetime' => 'integer',
'status' => 'integer',
];
/**
* 获取创建时间的格式化值
*
* @param mixed $value
* @return string
*/
public function getCreatetimeAttribute($value)
{
return date('Y-m-d H:i:s', $value);
}
/**
* 获取更新时间的格式化值
*
* @param mixed $value
* @return string
*/
public function getUpdatetimeAttribute($value)
{
return date('Y-m-d H:i:s', $value);
}
/**
* 获取状态文本
*
* @param mixed $value
* @return string
*/
public function getStatusTextAttribute($value)
{
return $value ?? '未设置';
}
}
/**
* CREATE TABLE `announcements` (
`id` INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY COMMENT 'ID (主键)',
`title` VARCHAR(255) NOT NULL COMMENT '标题',
`content` TEXT NOT NULL COMMENT '内容 (包含 HTML)',
`status` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '状态 0禁用 1启用',
`status_text` VARCHAR(255) DEFAULT NULL COMMENT '状态文本',
`createtime` INT(11) UNSIGNED NOT NULL COMMENT '创建时间',
`updatetime` INT(11) UNSIGNED DEFAULT NULL COMMENT '更新时间',
KEY `status` (`status`),
KEY `createtime` (`createtime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='公告表';
*/