Tharos / LeanMapper

Lean Mapper is a tiny ORM based on powerful Dibi database abstraction library for PHP.
MIT License
87 stars 35 forks source link

Entity::isModified() lying #72

Closed achtan closed 10 years ago

Tharos commented 10 years ago

Tady záleží na úhlu pohledu. :) Věc lze chápat tak, že isModified říká, zda položka byla modifikovaná, třebaže na stejnou hodnotu. Takže ta metoda IMHO nelže. :) To, co Ty bys chtěl, je dodatečná kontrola, že se nová hodnota nerovná té původní.

Ale samozřejmě chápu pointu toho, co píšeš. Zeptám se, jestli Tě aktuální chování v praxi někde hodně štve? :)

Jde o to, že naimplementovat chytřejší podrobné porovnávání změněných hodnot by byla docela pruda. Stálo by to hodně energie, zesložitělo by to kód knihovny, muselo by se nějak vyřešit porovnávání objektů… A to proto, aby byl typicky UPDATE do databáze neměřitelně optimálnější.

Když o to nějak speciálně stojím, většinou porovnávám například defaultní hodnoty formuláře s aktuálními, což mi přijde skoro jednodušší a výsledný efekt je stejný.

achtan commented 10 years ago

zatial som to potreboval len raz, a nakonic som si to spravil rucne ako pises... takze aktualne to ani nepotrebujem... len son cakal ze to bude fungovat... :)