Hello.
I am a new User to Yii and I would like to know about relation management in Yii`s ORM.
Let me give a simple example:
I have 2 objects
- Document
+ id int PK
- DocumentContent
+ id int PK
+ document_id int FK Document(id)
And I would like change the relation
$documentContent = DocumentContent::model()->findByPk(1);
var_dump($documentContent->document_id); // output: 2 -> OK
var_dump($documentContent->document->id); // output: 2 -> OK
$document = Document::model()->findByPk(3);
$documentContent->document = $document; // update object setter
$documentContent->save();
var_dump($documentContent->document_id); // output: 2 -> NOT OK expecting 3
var_dump($documentContent->document->id); // output: 3 -> OK
$documentContent->document_id = 4; // update relation setter
$documentContent->save();
var_dump($documentContent->document_id); // output: 4 -> OK
var_dump($documentContent->document->id); // output: 3 -> NOT OK expecting 4
$documentContent->save();
$documentContent->refresh();
var_dump($documentContent->document_id); // output: 4 -> OK
var_dump($documentContent->document->id); // output: 4 -> OK
Yii's ORM does not refresh object automatically ( after a setter call or a save). Other ORM like Propel does and I think it is a good idea in order to preserve data integrity.
Is it planned to integrate to Yii? Is it an existing behavior? Am I doing something wrong?
Thanks in advance.
Ps: sorry for my english
Ps2: I have made a quick search and I don’t found similar post, So if existing, I apologize.