Я пытаюсь обновить строку в базе данных, используя платформу Apigility на основе ZF2.ZF2 aka Обновление Apigility базы данных SQL базы данных
Я вижу, что строка существует, извлекает ее содержимое и обновляет объект. Но когда я пытаюсь сделать $table->update($arrayOfRowData);
, я получаю исключение;
Документация о том, как использовать Update()
, является немного редкой. Мне нужно поставить предложение where=
? ? Мне нужно иметь где матч дизъюнкции с ALL первичного ключа таблицы Do (первичный ключ 3 столбца)
try {
// if an entry already exists, update it
$existingRow = $this->currentEntryExists($ff_user_id, $subvalue);
if($existingRow != false){
$fieldType = $this->transformer->mapField($key);
$existingRow[$fieldType] = $subvalue['value'];
$this->update($existingRow, $where = array('field_id' => $existingRow['field_id'], 'user_id' => $user_id, 'field_date' => $subvalue['dateTime']));
}else{
$fieldType = $this->transformer->mapField($key);
$dataArray = array('user_id' => $user_id,
'field_date' => $subvalue['dateTime'],
$fieldType => $subvalue['value']);
$result = $this->insert($dataArray);
}
} catch (Exception $e) {
$logger = $this->getServicesLogger();
$logger->err($e);
throw $e;
}
Исключение брошенного:
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
"title": "Internal Server Error",
"status": 500,
"detail": "Invalid magic property access in Zend\\Db\\TableGateway\\AbstractTableGateway::__get()"