Я не знаю, почему ваш код выполняет двойную загрузку базы данных при сохранении, но это не должно иметь значения, так как вы используете объект Row и save ().(сохранить () вставки или обновления)Вы можете реструктурировать функцию createUser (), чтобы она не могла создать новую строку, если строка уже существует.
<?php
class Model_Team extends Zend_Db_Table_Abstract {
protected $_name = 'team';
public function createUser(array $data) {
$user = $this->createRow();
//test if user has id in the array
if (array_key_exists('id', $data)){
$user->id = $data['id'];
}
$user->name = $data['name'];
$user->title = $data['title'];
$user->save();
//no need to create a new variable to return the user row
return $user;
}
}
Этот метод создаст и обновит строку пользователя.
Чтобы помочь вам в дальнейшем, мне нужно увидеть код контроллера, который произошел с большинством моих двойных насосов.