我正在编辑一个具体的5附加组件,并试图弄清楚程序如何将值保存到数据库中。以下函数是数据库保存发生的地方,但我不确定" 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);
}
我已将该课程升级到其父级,但它没有保存功能。我跟着父母一直到它的父母,直到我在" adodb"中找到了一个保存功能。 class,但放入此函数时die()
永远不会发生。请帮我弄清楚我应该如何将Concrete5中的值保存到数据库中! (我的更多代码在https://stackoverflow.com/questions/26940176/concrete5-add-on-extension-save-value-to-database)。
答案 0 :(得分:1)
@CaitlinHavener你的SaveRecord方法应该是这样的。
public function SaveRecord($data){
$data['my_array'] = serialize($data['my_array']);
parent::save($data);
}
请参阅此链接concrete5 document