Modifikace ActiveRow v Nette 2.1
- Maxell92
- Člen | 38
Ahoj,
Mám trochu problém s Nette 2.1, konkrétně: „proměnné řádku ActiveRow jsou nyní read-only, pro změnu slouží metoda $row->update(array(‚field‘ ⇒ ‚value‘)). Věřte, že dřívější chování mělo tolik úskalí, že jiná cesta nebyla.“
Pokud na activeRow zavolám update, pošle mi data do databáze, což nechci. Já si vytáhnu produkt z DB, je v něm sloupec cena (price). No a teď potřebuji spočítat proceVat a priceNoVat podle nějakého nastavení např.:
$product->priceNoVat = $product->price;
$product->priceVat = $product->price + $product->price * $dph / 100;
Nyní mi ActiveRow změnit nejde, lze to nějak obejít? Transformaci na pole použít nemohu, tahám pak další data přes related třeba.
- Jan Tvrdík
- Nette guru | 2595
Nyní mi ActiveRow změnit nejde, lze to nějak obejít?
Jo, použít nějaké ORM, které má entity. Viz např. https://forum.nette.org/…rm-challenge
- Jan Suchánek
- Člen | 404
Maxell92: Pokud nechceš používat nějaké pěkné ORM, nelze si připravit nějakou obálku, které předáš activeRow a až v ní si výsledky upravíš?
Editoval jenicek (11. 2. 2014 18:05)