1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <?php
- namespace Gedmo\Translatable\Hydrator\ORM;
- use Gedmo\Translatable\Query\TreeWalker\TranslationWalker;
- use Doctrine\ORM\Internal\Hydration\ObjectHydrator as BaseObjectHydrator;
- /**
- * If query uses TranslationQueryWalker and is hydrating
- * objects - when it requires this custom object hydrator
- * in order to skip onLoad event from triggering retranslation
- * of the fields
- *
- * @author Gediminas Morkevicius <gediminas.morkevicius@gmail.com>
- * @package Gedmo.Translatable.Hydrator.ORM
- * @subpackage ObjectHydrator
- * @link http://www.gediminasm.org
- * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
- */
- class ObjectHydrator extends BaseObjectHydrator
- {
- /**
- * 2.1 version
- * {@inheritdoc}
- */
- protected function _hydrateAll()
- {
- $listener = $this->_hints[TranslationWalker::HINT_TRANSLATION_LISTENER];
- $listener->setSkipOnLoad(true);
- $result = parent::_hydrateAll();
- $listener->setSkipOnLoad(false);
- return $result;
- }
- /**
- * 2.2 version
- * {@inheritdoc}
- */
- protected function hydrateAllData()
- {
- $listener = $this->_hints[TranslationWalker::HINT_TRANSLATION_LISTENER];
- $listener->setSkipOnLoad(true);
- $result = parent::hydrateAllData();
- $listener->setSkipOnLoad(false);
- return $result;
- }
- }
|