工学1号馆

home

关于tp6中的无主键批量更新问题

Wu Yudong    March 02, 2020     ThinkPHP   959   

最近项目中有一个key:value数据表

在实现使用表单提交,模型更新的时候出现下面的错误:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‘Partner_ID’ for key ‘PRIMARY’

数据表的字段:name、value;无主键

当从前端表格提交的数据更新数据表中的字段,尝试使用saveAll、update等方法,都提示需要主键,我这里采用foreach遍历更新,代码如下:

$param = $this->request->param();
foreach ($param as $k => $v) {
    //$data[] = ['name' => $k, 'value' => $v];
    $s = System::where('name', $k)->find();
    $s->value = $v;
    $result = $s->save();
    if(!$result){
        break;
    }
}

暂时还没有好的方法,找到后立即更新

如果文章对您有帮助,欢迎点击下方按钮打赏作者

Comments

No comments yet.
To verify that you are human, please fill in "七"(required)