Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WPMVC:给定多个记录,数据库中只保存一个记录集_Php_Mysql_Wordpress - Fatal编程技术网

Php WPMVC:给定多个记录,数据库中只保存一个记录集

Php WPMVC:给定多个记录,数据库中只保存一个记录集,php,mysql,wordpress,Php,Mysql,Wordpress,我有两个表:productfilters和productfiltervalues 在第一张表中,我有一些记录,如书籍、电子产品、服装等 在第二个表中,有与第一个表中的记录相关的记录,即当我们编辑书籍时,我们可以动态添加由“书籍”的“id”引用的值,如“小说”、“历史”、“诗歌”等。同样,我们也有不同的“电子产品”和“服装”数据 现在,当我一次编辑两个表并单击保存它们时,第一个表记录会按我的意愿保存,但第二个表记录会被截断,最后一组记录会保存在数据库中 对于此功能,我已经覆盖了管理员控制器方法“c

我有两个表:productfilters和productfiltervalues

在第一张表中,我有一些记录,如书籍、电子产品、服装等

在第二个表中,有与第一个表中的记录相关的记录,即当我们编辑书籍时,我们可以动态添加由“书籍”的“id”引用的值,如“小说”、“历史”、“诗歌”等。同样,我们也有不同的“电子产品”和“服装”数据

现在,当我一次编辑两个表并单击保存它们时,第一个表记录会按我的意愿保存,但第二个表记录会被截断,最后一组记录会保存在数据库中

对于此功能,我已经覆盖了管理员控制器方法“create\u或\u save”,这会带来麻烦。我已经给出了下面的代码

非常感谢您的帮助。谢谢

if ($this->model->create($this->params['data'])) {
    $id = $this->model->insert_id;
    $this->load_model('ProductFilterValue');
        if(isset($this->params['data'][$this->model->name]['productfiltervalues']) && !empty($this->params['data'][$this->model->name]['productfiltervalues'])){
            foreach($this->params['data'][$this->model->name]['productfiltervalues'] as $productfiltervalue){
                $productfiltervalue['group_id'] = $id;
                $this->ProductFilterValue->save($productfiltervalue);
                }
            }
我添加了两个截图来理解这一点。1.加2。编辑

只添加最后一条记录。如何解决这个问题?有什么猜测吗?谢谢..

您的问题在这里:

$this->ProductFilterValue->save($productfiltervalue);
所以当你只是替换这个值时,我想, 一定是这样的:

$this->ProductFilterValue->add($productfiltervalue);
我不是可湿性粉剂专家,目前还没有安装可湿性粉剂,但只是为了帮助您解决这个问题。
希望这能帮助你

我解决了这个问题。我在添加/编辑表单的通用部分布局中给出了以下代码

var clone ='';

        if(jQuery('.filter-input-html:first').length > 0)
        {
            clone = jQuery('.filter-input-html:first').clone();     
        }
        else
        {
            clone = html;
        }

        jQuery("#filter-value").append(clone);
        filter_value_row++;
这导致了错误

我刚刚删除了total if条件,并将其替换为

clone = html;

现在它工作得很好。谢谢。

也许一些代码会有帮助。谢谢Kim的回复,但是“add”也只会调用create\u或\u save方法。我快找到了。很快就会得到答案的。再次感谢。您能在foreach之前执行var_dump$this->params['data'][$this->model->name]['productfiltervalues']吗?