-
Notifications
You must be signed in to change notification settings - Fork 96
Open
Description
I have the code like below.
Model_Test {
...
'details' => [
'key_from' => 'id',
'model_to' => 'Model_Child',
'key_to' => 'parent_id',
'cascade_save' => true,
],
...
}
Model_Child {
...
}
$test = Model_Test::forge(...);
$test->children = array();
$test->children[] = Model_Child::forge(...);
$test->children[] = Model_Child::forge(...);
$test->children[] = Model_Child::forge(...);
$test->save();
After save() method was called, the keys of $test->children should be imploded PK,
But in this case, the key of the first child is still 0.
Because the old key was 0, the comparation with new string key returns true.
Orm\HasMany line189
if ($key != ($current_model_id = $model_to->implode_pk($model_to)))
I think this line should be
if (strval($key) != ($current_model_id = $model_to->implode_pk($model_to)))
Actually I don't have any problem yet with this issue.
but feel bit weird.
thanks.
Metadata
Metadata
Assignees
Labels
No labels