Php Concrete5 MVC parent::save()在查找数据库插入函数时遇到问题,如何保存到数据库

Php Concrete5 MVC parent::save()在查找数据库插入函数时遇到问题,如何保存到数据库,php,persistence,concrete5,Php,Persistence,Concrete5,我正在编辑一个concrete5插件,并试图弄清楚程序是如何将值保存到数据库的。下面的函数是进行数据库保存的地方,但我不确定“parent::save()”函数在哪里 protected function SaveRecord() { $func = 'jso'.'n_encode'; $this->errors = is_array($this->errors) ? $func($this->errors) : $this->errors

我正在编辑一个concrete5插件,并试图弄清楚程序是如何将值保存到数据库的。下面的函数是进行数据库保存的地方,但我不确定“parent::save()”函数在哪里

protected function SaveRecord() {
        $func = 'jso'.'n_encode';
        $this->errors = is_array($this->errors) ? $func($this->errors) : $this->errors;

        $this->effectiveDate = is_numeric($this->effectiveDate) ? date('Y-m-d', $this->effectiveDate) : $this->effectiveDate;
        $this->expirationDate = is_numeric($this->expirationDate) ? date('Y-m-d', $this->expirationDate) : $this->expirationDate;

        //var_dump($this); die();
        parent::Save();

        // a bit hacky, but we are saving the errors as JSON, and we might need to access them later.
        $this->errors = (array) json_decode($this->errors);
    }

我一直跟踪这个类直到它的父类,它没有save函数。我跟随父对象一直到它的父对象,直到在“adodb”类中找到一个save函数,但是当放入这个函数时,
die()
永远不会发生。请帮我弄清楚如何将Concrete5中的值保存到数据库中!(我的更多代码位于:)。

@caitlinhaven您的SaveRecord方法应该是这样的

public function SaveRecord($data){
    $data['my_array'] = serialize($data['my_array']);
    parent::save($data);
}

请参阅此链接

,但该链接如何将值保存到数据库中?parent::save()函数在哪里?@CaitlinHavener如果您在数据库表中添加了showTerms字段,您可以从packages/your_package/db.xml添加/更改表,并且不要忘记更新包。然后将showTerms值添加到$data数组并保存。希望它能起作用,否则我需要查看一下您的软件包以获得更多帮助,谢谢:)找到了!非常感谢你的帮助!如果你想成为朋友,我是skype上的Caitlinhav:@Caitlinhaven这是我的荣幸,肯定会将你添加到skype:)关于使用
序列化
函数将数据保存到字段,需要注意一点:你需要确保字段(
我的数组
在本例中)是“BLOB”类型,而不是“TEXT”。如果字段类型为文本,则如果保存非ascii字符(如word文档中的卷曲引号等),则可能会发生数据损坏