1
0
mirror of synced 2024-12-14 23:26:04 +03:00
doctrine2/manual/docs/Working with objects - Component overview - Record - Getting record state.php

40 lines
1.4 KiB
PHP
Raw Normal View History

2007-04-14 01:49:11 +04:00
Every Doctrine_Record has a state. First of all record can be transient or persistent.
Every record that is retrieved from database is persistent and every newly created record is transient.
If a Doctrine_Record is retrieved from database but the only loaded property is its primary key, then this record
has a state called proxy.
2007-04-14 01:49:11 +04:00
Every transient and persistent Doctrine_Record is either clean or dirty. Doctrine_Record is clean when none of its properties are changed and
dirty when atleast one of its properties has changed.
<code type="php">
2007-05-07 19:40:22 +04:00
$state = $record->state();
2007-04-14 01:49:11 +04:00
switch($state):
case Doctrine_Record::STATE_PROXY:
// record is in proxy state,
// meaning its persistent but not all of its properties are
// loaded from the database
break;
case Doctrine_Record::STATE_TCLEAN:
// record is transient clean,
// meaning its transient and
// none of its properties are changed
break;
case Doctrine_Record::STATE_TDIRTY:
// record is transient dirty,
// meaning its transient and
// some of its properties are changed
break;
case Doctrine_Record::STATE_DIRTY:
// record is dirty,
// meaning its persistent and
// some of its properties are changed
break;
case Doctrine_Record::STATE_CLEAN:
// record is clean,
// meaning its persistent and
// none of its properties are changed
break;
endswitch;
</code>