Open ysshir opened 7 years ago
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)))
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)))
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.
I have the code like below.
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.