Browse Source

processModelAsArray by PK

tags/1.3.0
DD174 7 years ago committed by GitHub
parent
commit
238308f9c6
  1. 9
      src/SaveRelationsBehavior.php

9
src/SaveRelationsBehavior.php

@ -168,6 +168,14 @@ class SaveRelationsBehavior extends Behavior
if (is_array($data)) {
$fks = [];
// search PK
foreach($modelClass::primaryKey() as $modelAttribute) {
if (array_key_exists($modelAttribute, $data) && !empty($data[$modelAttribute])) {
$fks[$modelAttribute] = $data[$modelAttribute];
}
}
if (!$fks) {
// Get the right link definition
if ($relation->via instanceof BaseActiveRecord) {
$viaQuery = $relation->via;
@ -184,6 +192,7 @@ class SaveRelationsBehavior extends Behavior
$fks[$modelAttribute] = $data[$modelAttribute];
}
}
}
} else {
$fks = $data;
}

Loading…
Cancel
Save