Php WP MVC:如何编辑和保存涉及多个表的记录

Php WP MVC:如何编辑和保存涉及多个表的记录,php,mysql,wordpress,Php,Mysql,Wordpress,我有两个表:productfilters和productfiltervalues 在第一张表中,我有一些记录,如书籍、电子产品、服装等 在第二个表中,有与第一个表中的记录相关的记录,即当我们编辑书籍时,我们可以动态添加由“书籍”的“id”引用的值,如“小说”、“历史”、“诗歌”等。同样,我们也有不同的“电子产品”和“服装”数据 现在,当我一次编辑两个表并单击保存它们时,第一个表记录会按我的意愿保存,但第二个表记录会在原始值不变的情况下复制 对于此功能,我覆盖了管理员控制器方法“create\u或

我有两个表:productfilters和productfiltervalues

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

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

现在,当我一次编辑两个表并单击保存它们时,第一个表记录会按我的意愿保存,但第二个表记录会在原始值不变的情况下复制

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

非常感谢您的帮助。谢谢

if ($this->model->save($this->params['data'])) {
                $this->load_model('ProductFilterValue');
                if(isset($this->params['data'][$this->model->name]['product_filter_value']) && !empty($this->params['data'][$this->model->name]['product_filter_value'])){
                    foreach($this->params['data'][$this->model->name]['product_filter_value'] as $productfiltervalue){
                                $this->ProductFilterValue->save($productfiltervalue);
                    }
                }
                $this->flash('notice', 'Successfully saved!');
                $url = MvcRouter::admin_url(array('controller' => $this->name, 'action' => $this->_redirect_action, 'id' => $id));
                $this->redirect($url);
            }

我正在将wordpress 4.1与WP MVC一起使用。

我找到了答案。身份证没有绑定,这是导致问题的原因。因此,我修改了foreach语句如下:

foreach($this->params['data'][$this->model->name]['productfiltervalues'] as $productfiltervalue){
    $productfiltervalue['group_id'] = $this->params['data'][$this->model->name]['id'];
        if($this->params['data'][$this->model->name]['id']){
            $this->ProductFilterValue->save($productfiltervalue);
        }
}
之前的ID计数为2,现在ID与原始父记录绑定,并正确保存

谢谢大家