Concrete5 MVC parent :: save () не может найти функцию вставки базы данных, как сохранить в базу данных

Я редактирую конкретное дополнение 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», но die() никогда не происходит, когда вставлен в эту функцию. Пожалуйста, помогите мне понять, как я должен сохранять значения в Concrete5 в базу данных! (Больше моего кода на: https://stackoverflow.com/questions/26940176/concrete5-add-on-extension-save-value-to-database).

2

Решение

@CaitlinHavener Ваш метод SaveRecord должен быть таким.

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

обратитесь по этой ссылке конкретный5 документ

1

Другие решения

Других решений пока нет …