@@ -71,9 +71,9 @@ protected function fillRelations(ItemInterface $item, array $attributes)
71
71
72
72
// It is a valid relation
73
73
if ($ relation instanceof HasOneRelation) {
74
- $ this ->hydrateHasOneRelation ($ item , $ attributes , $ relation , $ availableRelation );
74
+ $ this ->hydrateHasOneRelation ($ attributes , $ relation , $ availableRelation );
75
75
} elseif ($ relation instanceof HasManyRelation) {
76
- $ this ->hydrateHasManyRelation ($ attributes , $ availableRelation , $ relation );
76
+ $ this ->hydrateHasManyRelation ($ attributes , $ relation , $ availableRelation );
77
77
} elseif ($ relation instanceof MorphToRelation) {
78
78
$ this ->hydrateMorphToRelation ($ attributes , $ relation , $ availableRelation );
79
79
} elseif ($ relation instanceof MorphToManyRelation) {
@@ -101,26 +101,21 @@ protected function getRelationFromItem(ItemInterface $item, string $availableRel
101
101
}
102
102
103
103
/**
104
- * @param \Swis\JsonApi\Client\Interfaces\ItemInterface $item
105
104
* @param array $attributes
106
105
* @param \Swis\JsonApi\Client\Relations\HasOneRelation $relation
107
106
* @param string $availableRelation
108
107
*
109
108
* @throws \InvalidArgumentException
110
109
*/
111
- protected function hydrateHasOneRelation (
112
- ItemInterface $ item ,
113
- array $ attributes ,
114
- HasOneRelation $ relation ,
115
- string $ availableRelation
116
- ) {
110
+ protected function hydrateHasOneRelation (array $ attributes , HasOneRelation $ relation , string $ availableRelation )
111
+ {
117
112
if (is_array ($ attributes [$ availableRelation ])) {
118
113
$ relationItem = $ this ->buildRelationItem ($ relation , $ attributes [$ availableRelation ]);
119
- $ relation ->associate ($ relationItem );
120
114
} else {
121
- $ relation ->setId ($ attributes [$ availableRelation ]);
122
- $ item ->setAttribute ($ availableRelation .'_id ' , $ attributes [$ availableRelation ]);
115
+ $ relationItem = $ this ->buildRelationItem ($ relation , ['id ' => $ attributes [$ availableRelation ]]);
123
116
}
117
+
118
+ $ relation ->associate ($ relationItem );
124
119
}
125
120
126
121
/**
@@ -130,7 +125,7 @@ protected function hydrateHasOneRelation(
130
125
*
131
126
* @throws \InvalidArgumentException
132
127
*/
133
- protected function hydrateHasManyRelation (array $ attributes , string $ availableRelation , HasManyRelation $ relation )
128
+ protected function hydrateHasManyRelation (array $ attributes , HasManyRelation $ relation , string $ availableRelation )
134
129
{
135
130
foreach ($ attributes [$ availableRelation ] as $ relationData ) {
136
131
if (is_array ($ relationData )) {
0 commit comments