Проблема при загрузке нескольких версий одного и того же Doctrine_Record - PullRequest
1 голос
/ 04 июля 2011

Следующий фрагмент кода демонстрирует своеобразное поведение из Doctrine.

$user = Doctrine::getTable('User')->find(1);
$user->name = 'Zoppy';

// This line prevents the subsequent $user->save() from working as expected
$old_user = Doctrine::getTable('User')->find(1);

$user->save();

// Does not print 'Zoppy'
echo Doctrine::getTable('User')->find(1)->name . "\n";

Что здесь происходит?

Есть ли способ загрузить старую версию записи перед выполнением сохранения? Кажется, что Doctrine куда-то кеширует - что именно, и как мне это отключить! (По крайней мере, временно.)

1 Ответ

1 голос
/ 04 июля 2011

Я недавно задал аналогичный вопрос , хотя я сформулировал его с точки зрения отношений. Ответ, однако, заключается в том, что это связано с природой кэширования в Доктрине. Доктрина хранит гидратированные объекты в памяти. Вы можете clone объект, но как только вы будете следовать любым отношениям, вы вернетесь на круги своя.

...