Přechod na Nette 2.1 a update db (kolize s ActiveRow is read-only)

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
jik
Člen | 149
+
0
-

Zdravím,
v Nette 2.0 jsem si zavedl takovýto postup pro update:
model

	public function updateLv ($id, $o_lv, $editor) {
		return $this->find($id)->update(array(
			'cislo'     =>$o_lv->cislo,
			...
	}

presenter

	public function actionEdit($id) {
		$this->o_lv = $this->context->lv->getLv($id);
		...
		$this["lvForm"]->setDefaults(array(...));
	}
	protected function createComponentLvForm() {
		...
		$form->onSuccess[] = $this->lvFormSubmitted;
		return $form;
	}
	public function lvFormSubmitted(Form $form) {
		$this->o_lv->cislo = $form->values->cislo; //zmenene hodnoty
		...
		$this->context->lv->updateLv($o_lv->id, $o_lv, $this->uid);
	}

Tento způsob je u 2.1 nepoužitelný skrz r/o ActiveRow a tak hledám nějakou univerzální jednoduchou náhradu (předávání hromady argumentů modelům, přepis hromady modelů). Zatím mě napadlo jedině z dat vrácených formulářem vytvořit nový objekt a ten předávat jako argument update. Nevíte o nějakém lepším řešení?

Editoval jik (9. 2. 2014 10:05)