ActiveRow::update() neresetuje modifikovaná data?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- uestla
- Backer | 799
Ahoj.
Narazil jsem na zvláštnost:
$row = $table->get( <id> );
$row->state = Row::STATE_NEW;
$row->update();
$otherTable->where('id', 23)->update(array(
'neco' => 'jineho',
)); // trigger tohoto updatu změní status záznamu $row
$row->updated = new DateTime;
$row->update();
Ta zvláštnost je v tom, že při druhém $row->update()
se
evidentně
znovu aplikuje změna sloupce state
, což dle mého
není dobře.
Řešení bych viděl v úpravě: pullík.
Samozřejmě je zbytečné si nalhávat, že tahle úprava pomůže
konzistenci, což nepomůže – úprava triggerem se přímo v
$row
neprojeví. Jde mi čistě o to, že při vícenásobném
volání update()
je IMHO zbytečné opakovaně zahrnovat už
„zastaralá“ modified
data.
Ale třeba něco přehlížím, proto prosím případně o osvětlení. Díky.
Editoval uestla (9. 12. 2012 1:17)