2
2
3
3
namespace Kitar \Dynamodb \Query ;
4
4
5
- use Aws \Result ;
6
5
use Aws \DynamoDb \Marshaler ;
6
+ use Aws \Result ;
7
7
use Illuminate \Database \Query \Processors \Processor as BaseProcessor ;
8
+ use Kitar \Dynamodb \Helpers \Collection ;
8
9
9
10
class Processor extends BaseProcessor
10
11
{
@@ -56,6 +57,7 @@ public function processSingleItem(Result $awsResponse, $modelClass = null)
56
57
$ item = (new $ modelClass )->newFromBuilder ($ response ['Item ' ]);
57
58
unset($ response ['Item ' ]);
58
59
$ item ->setMeta ($ response ?? null );
60
+
59
61
return $ item ;
60
62
}
61
63
@@ -72,7 +74,7 @@ public function processMultipleItems(Result $awsResponse, $modelClass = null)
72
74
return $ response ;
73
75
}
74
76
75
- $ items = collect ( );
77
+ $ items = new Collection ([] );
76
78
77
79
foreach ($ response ['Items ' ] as $ item ) {
78
80
$ item = (new $ modelClass )->newFromBuilder ($ item );
@@ -81,10 +83,16 @@ public function processMultipleItems(Result $awsResponse, $modelClass = null)
81
83
82
84
unset($ response ['Items ' ]);
83
85
84
- return $ items ->map (function ($ item ) use ($ response ) {
86
+ $ items = $ items ->map (function ($ item ) use ($ response ) {
85
87
$ item ->setMeta ($ response );
88
+
86
89
return $ item ;
87
90
});
91
+
92
+ // set meta at the collection level
93
+ $ items ->setMeta ($ response );
94
+
95
+ return $ items ;
88
96
}
89
97
90
98
public function processBatchGetItems (Result $ awsResponse , $ modelClass = null )
@@ -108,6 +116,7 @@ public function processBatchGetItems(Result $awsResponse, $modelClass = null)
108
116
109
117
return $ items ->map (function ($ item ) use ($ response ) {
110
118
$ item ->setMeta ($ response );
119
+
111
120
return $ item ;
112
121
});
113
122
}
0 commit comments