联系官方销售客服

1835022288

028-61286886

求助 版主:官方研发技术组
模块表单入库好像没有自动创建附表的功能
类型:迅睿CMS 更新时间:2023-02-10 16:28:13 模块表单入库

模块表单入库附表,没有自动创建附表功能

https://www.xunruicms.com/doc/956.html

$data = [];
$data['title'] = '标题测试';
$data['status'] = 1;
$data['catid'] = 1; // 栏目id
$data['cid'] = 1; // 内容id
$data['uid'] = (int)$this->member['uid'];
$data['author'] = $this->member['username'];
$data['inputip'] = \Phpcmf\Service::L('input')->ip_address();
$data['inputtime'] = SYS_TIME;
$data['tableid'] = 0;
$data['displayorder'] = 0;
// 插入主表
$rt = \Phpcmf\Service::M()->table_site("模块目录_form_表单名称")->insert($data);
if (!$rt['code']) {
    exit("插入失败:".$rt['code']);
}

// 如果要使用附表分表就 按一定量进行分表设置 比如50000
$data['tableid'] = floor($rt['code']/50000);
\Phpcmf\Service::M()->table_site("模块目录_form_表单名称")->update($data['id'], ['tableid' => $data['tableid']]);

$data2 = [];
$data2['id'] = $rt['code'];
$data2['uid'] = (int)$this->member['uid'];
$data2['catid'] = 1; // 栏目id
$data2['cid'] = 1; // 内容id
// 插入附表
$rt = \Phpcmf\Service::M()->table_site("模块目录_form_表单名称_data_".$data['tableid'])->insert($data2);
if (!$rt['code']) {
    // 删除主表
    \Phpcmf\Service::M()->table_site("模块目录_form_表单名称")->delete($data['id']);
    exit("插入失败:".$rt['code']);
}
// 更新表单数量到模块内容主表
$total = \Phpcmf\Service::M()->table_site('模块目录_form_表单名称')->where('status', 1)->where('cid', $data['cid'])->counts();
\Phpcmf\Service::M()->table_site('模块目录')->update($data['cid'], [
    '表单名称_total' => $total,
]);

是不是?

回帖
  • #1楼    迅睿框架创始人
    2023-01-31 07:56:33
    Google Pixel 手机 0
    $data['tableid'] = 0; //不分表
  • 陈德显
    #2楼    陈德显
    2023-01-31 08:39:28
    Chrome 0
    回复迅睿框架创始人 这个值在后面附表插入数据后会更新不是我是说数据量到达设定量后,这个数据库表不会自动创建
    $data['tableid'] = floor($rt['code']/50000);  这里已重新赋值
    是不是要加个is_data_table?

    我自己处理吧,谢谢
  • #3楼    迅睿框架创始人
    2023-01-31 08:43:53
    Google Pixel 手机 0
    \Phpcmf\Service::M("mform", "mform")->save_content("模块目录", “表单名”, $内容主表数组, $data, $data2);
  • 陈德显
    #4楼    陈德显
    2023-01-31 08:56:39
    Chrome 0
    回复迅睿框架创始人 我知道这个,我是想问,要不要这样加一下
    image
  • #5楼    迅睿框架创始人
    2023-01-31 09:01:57
    Google Pixel 手机 0
    二次开发完全在于你了,你愿意加上就可以加上,一般情况下表单之类的不建议做分表
    满意答案
  • 陈德显
    #6楼    陈德显
    2023-02-10 16:28:13
    Chrome 0
    迅睿框架创始人:已经自己分了,