Automation/app/Models/Mangboard/FreeboardModel.php
2024-09-05 21:45:59 +09:00

172 lines
6.7 KiB
PHP

<?php
namespace App\Models\Mangboard;
use App\Entities\Mangboard\FreeboardEntity;
use App\Models\CommonModel;
class FreeboardModel extends CommonModel
{
protected $table = 'mb_board_free';
protected $primaryKey = 'pid';
protected $useAutoIncrement = true;
protected $allowedFields = [
// // 'pid',
// // 'gid',
// 'reply',
// 'depth',
// 'user_id',
// 'user_name',
'title',
// 'passwd',
// 'homepage',
// 'email',
// 'address',
// 'phone',
// 'reg_date',
// 'modify_date',
// 'calendar_date',
// 'hit',
// 'user_pid',
// 'parent_pid',
// 'parent_user_pid',
// 'level',
// 'file_count',
// 'comment_count',
// 'vote_good_count',
// 'vote_bad_count',
// 'vote_type',
// 'ip',
// 'agent',
// 'is_notice',
// 'is_secret',
// 'status',
// 'is_show',
// 'reply_email',
'text',
'content',
// 'content_type',
// 'data_type',
// 'editor_type',
// 'tag',
// 'category1',
// 'category2',
// 'category3',
// 'image_path',
// 'site_link1',
// 'site_link2',
// 'gps_latitude',
// 'gps_longitude',
// 'ext1',
// 'ext2',
// 'ext3',
// 'ext4',
// 'ext5',
// 'ext6',
// 'ext7',
// 'ext8',
// 'ext9',
// 'ext10',
];
// Validation
// protected $validationRules = [];
protected $validationRules = [
'pid' => 'if_exist|trim|numeric',
'gid' => 'if_exist|trim|numeric',
'reply' => 'if_exist|trim|numeric',
'depth' => 'if_exist|trim|numeric',
'user_id' => 'if_exist|trim|string',
'user_name' => 'if_exist|trim|string',
'title' => 'if_exist|trim|string',
'passwd' => 'if_exist|trim|string',
'homepage' => 'if_exist|trim|string',
'email' => 'if_exist|trim|valid_email',
'address' => 'if_exist|trim|string',
'phone' => 'if_exist|trim|string',
'reg_date' => 'if_exist|valid_date[Y-m-d H:i:s]',
'modify_date' => 'if_exist|valid_date[Y-m-d h:i:s]',
'calendar_date' => 'if_exist|valid_date[Y-m-d H:i:s]',
// 'reg_date' => 'if_exist|string',
// 'modify_date' => 'if_exist|string',
// 'calendar_date' => 'if_exist|string',
'hit' => 'if_exist|trim|numeric',
'user_pid' => 'if_exist|trim|numeric',
'parent_pid' => 'if_exist|trim|numeric',
'parent_user_pid' => 'if_exist|trim|numeric',
'level' => 'if_exist|trim|numeric',
'file_count' => 'if_exist|trim|numeric',
'comment_count' => 'if_exist|trim|numeric',
'vote_good_count' => 'if_exist|trim|numeric',
'vote_bad_count' => 'if_exist|trim|numeric',
'vote_type' => 'if_exist|trim|numeric',
'ip' => 'if_exist|trim|string',
'agent' => 'if_exist|trim|string',
'is_notice' => 'if_exist|trim|numeric',
'is_secret' => 'if_exist|trim|numeric',
'status' => 'if_exist|trim|string',
'is_show' => 'if_exist|trim|numeric',
'reply_email' => 'if_exist|trim|numeric',
'text' => 'if_exist|string',
'content' => 'if_exist|string',
'content_type' => 'if_exist|trim|string',
'data_type' => 'if_exist|trim|string',
'editor_type' => 'if_exist|trim|string',
'tag' => 'if_exist|trim|string',
'category1' => 'if_exist|trim|string',
'category2' => 'if_exist|trim|string',
'category3' => 'if_exist|trim|string',
'image_path' => 'if_exist|trim|string',
'site_link1' => 'if_exist|trim|string',
'site_link2' => 'if_exist|trim|string',
'gps_latitude' => 'if_exist|trim|string',
'gps_longitude' => 'if_exist|trim|string',
'ext1' => 'if_exist|string',
'ext2' => 'if_exist|string',
'ext3' => 'if_exist|string',
'ext4' => 'if_exist|string',
'ext5' => 'if_exist|string',
'ext6' => 'if_exist|string',
'ext7' => 'if_exist|string',
'ext8' => 'if_exist|string',
'ext9' => 'if_exist|string',
'ext10' => 'if_exist|string',
// 'updated_at' => 'if_exist|valid_date',
// 'created_at' => 'if_exist|valid_date',
// 'deleted_at' => 'if_exist|valid_date',
];
public function __construct()
{
parent::__construct();
}
public function getPK(): string
{
return $this->primaryKey;
}
public function getEntityByPK(int $uid): null|FreeboardEntity
{
$this->where($this->getPK(), $uid);
return $this->getEntity();
}
public function getEntityByID(string $id): null|FreeboardEntity
{
$this->where('user_id', $id);
return $this->getEntity();
}
public function create(FreeboardEntity $entity, array $formDatas = []): FreeboardEntity
{
$entity = $this->create_process($entity, $formDatas);
//GID값이 PK랑 같게하기위해
$entity->setGID($entity->getPK());
$entity = $this->modify_process($entity, $formDatas);
return $entity;
}
public function modify(FreeboardEntity $entity, array $formDatas = []): FreeboardEntity
{
return $this->modify_process($entity, $formDatas);
}
}