Re: DB_DataObjects: How to mix clone and getLinks?
| From: | Alan Knowles | Date: | Sun, 11 May 2003 14:17:31 +0000 |
| Subject: | Re: DB_DataObjects: How to mix clone and getLinks? | ||
| References: | 1 | Groups: | php.pear.general |
| Request: | Send a blank email to pear-general+get-5302@lists.php.net to get a copy of this message | ||
Mitchell Perilstein wrote:
Hi all,
I often do stuff like this:
$obj = new DataObjects_MyThing();
$obj->find();
while ($obj->fetch()) {
$objc = $obj->__clone();
$objc->getLinks();
$objc->_someChild->foo = 42;
$objc->_someChild->bar = 'quack';
$objc->_someChild->update();
}
For each found object, the loop should do something to a "_" child,
which was loaded with getLinks(), and then does a db update on it.
Each time through the loop, it seems getLinks() provides the OLD copy
obj's child, ie, it is not reloaded and so does not reflect any of the
prior updates().
Is this expected? Is this over-eager caching?
It probably a bug - the fetch() call should reset the 'has links been loaded flag..'
- can you file it as a bug.
Regards
Alan
Should getLinks(), or the whole package for that matter, have an option to disable and enable caching? staticGet() and getLink() would also be affected if so. TIA, regards,