File tree Expand file tree Collapse file tree 1 file changed +17
-12
lines changed Expand file tree Collapse file tree 1 file changed +17
-12
lines changed Original file line number Diff line number Diff line change @@ -23,20 +23,25 @@ public function loadAll($POST) {
2323 $ isHasMany = is_array ($ value );
2424 $ relName = ($ isHasMany ) ? lcfirst ($ key ) . 's ' : lcfirst ($ key );
2525 $ rel = $ this ->getRelation ($ relName );
26- if ($ isHasMany ) {
27- $ container = [];
28- foreach ($ value as $ relPost ) {
29- /* @var $relObj ActiveRecord */
26+ $ relModelClass = $ rel ->modelClass ;
27+ $ relPKAttr = $ relModelClass ::primaryKey ();
28+ // $isCompositePK = (count($relPKAttr) > 1);
29+ // if(!$isCompositePK){
30+ if ($ isHasMany ) {
31+ $ container = [];
32+ foreach ($ value as $ relPost ) {
33+ /* @var $relObj ActiveRecord */
34+ $ relObj = (isset ($ relPost [$ relPKAttr [0 ]])) ? $ relModelClass ::findOne ($ relPost [$ relPKAttr [0 ]]) : new $ rel ->modelClass ;
35+ $ relObj ->load ($ relPost , '' );
36+ $ container [] = $ relObj ;
37+ }
38+ $ this ->populateRelation ($ relName , $ container );
39+ } else {
3040 $ relObj = new $ rel ->modelClass ;
31- $ relObj ->load ($ relPost , '' );
32- $ container [] = $ relObj ;
41+ $ relObj ->load ($ value );
42+ $ this -> populateRelation ( $ relName , $ value ) ;
3343 }
34- $ this ->populateRelation ($ relName , $ container );
35- } else {
36- $ relObj = new $ rel ->modelClass ;
37- $ relObj ->load ($ value );
38- $ this ->populateRelation ($ relName , $ value );
39- }
44+ // }
4045 }
4146 }
4247 return true ;
You can’t perform that action at this time.
0 commit comments