|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Plugins\Notebook\Model;
|
|
|
|
|
|
|
|
use App\Model\Attribute\CreateSql;
|
|
|
|
use App\Model\Base\Administrators;
|
|
|
|
use App\Model\Model;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 笔记本
|
|
|
|
* @property int $id ID
|
|
|
|
* @property string $title 标题
|
|
|
|
* @property string $content 内容
|
|
|
|
* @property string $allow_see 允许查看的人
|
|
|
|
* @property int $administrators_id 创建人
|
|
|
|
* @property int $mode 模式
|
|
|
|
* @property string $share_key 分享密钥
|
|
|
|
* @property int $latest_administrators_id 最后修改人
|
|
|
|
* @property string $create_time 创建时间
|
|
|
|
* @property string $update_time 更新时间
|
|
|
|
* @property int $delete_time 删除时间
|
|
|
|
*/
|
|
|
|
#[CreateSql(<<<SQL
|
|
|
|
CREATE TABLE `sd_notebook` (
|
|
|
|
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
|
|
`title` varchar(127) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '标题',
|
|
|
|
`content` text COLLATE utf8mb4_general_ci COMMENT '内容',
|
|
|
|
`allow_see` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '允许查看的人',
|
|
|
|
`administrators_id` int NOT NULL COMMENT '创建人',
|
|
|
|
`mode` tinyint(1) NOT NULL DEFAULT '1' COMMENT '模式:1=读写,2=只读,3=私有写',
|
|
|
|
`share_key` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '分享密钥',
|
|
|
|
`latest_administrators_id` int NOT NULL COMMENT '最后修改人',
|
|
|
|
`create_time` datetime NOT NULL COMMENT '创建时间',
|
|
|
|
`update_time` datetime NOT NULL COMMENT '更新时间',
|
|
|
|
`delete_time` int DEFAULT NULL COMMENT '删除时间',
|
|
|
|
PRIMARY KEY (`id`)
|
|
|
|
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='笔记本'
|
|
|
|
SQL)]
|
|
|
|
class Notebook extends Model
|
|
|
|
{
|
|
|
|
protected ?string $table = 'notebook';
|
|
|
|
|
|
|
|
protected array $casts = [
|
|
|
|
...self::DEFAULT_CASTS,
|
|
|
|
|
|
|
|
// 更多casts
|
|
|
|
];
|
|
|
|
|
|
|
|
protected array $fillable = ["title", "content", "allow_see", "administrators_id", "mode", "share_key", "latest_administrators_id"];
|
|
|
|
|
|
|
|
public function setAdministratorsIdAttribute($value): int
|
|
|
|
{
|
|
|
|
return $this->attributes['administrators_id'] = (int)$value;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setLatestAdministratorsIdAttribute($value): int
|
|
|
|
{
|
|
|
|
return $this->attributes['latest_administrators_id'] = (int)$value;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function createAdmin()
|
|
|
|
{
|
|
|
|
return $this->belongsTo(Administrators::class, 'administrators_id');
|
|
|
|
}
|
|
|
|
|
|
|
|
public function latestAdmin()
|
|
|
|
{
|
|
|
|
return $this->belongsTo(Administrators::class, 'latest_administrators_id');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|