22
33namespace Kitar \Dynamodb \Query ;
44
5- use Aws \Result ;
65use Aws \DynamoDb \Marshaler ;
6+ use Aws \Result ;
77use Illuminate \Database \Query \Processors \Processor as BaseProcessor ;
8+ use Kitar \Dynamodb \Helpers \Collection ;
89
910class Processor extends BaseProcessor
1011{
@@ -56,6 +57,7 @@ public function processSingleItem(Result $awsResponse, $modelClass = null)
5657 $ item = (new $ modelClass )->newFromBuilder ($ response ['Item ' ]);
5758 unset($ response ['Item ' ]);
5859 $ item ->setMeta ($ response ?? null );
60+
5961 return $ item ;
6062 }
6163
@@ -72,7 +74,7 @@ public function processMultipleItems(Result $awsResponse, $modelClass = null)
7274 return $ response ;
7375 }
7476
75- $ items = collect ( );
77+ $ items = new Collection ([] );
7678
7779 foreach ($ response ['Items ' ] as $ item ) {
7880 $ item = (new $ modelClass )->newFromBuilder ($ item );
@@ -81,10 +83,16 @@ public function processMultipleItems(Result $awsResponse, $modelClass = null)
8183
8284 unset($ response ['Items ' ]);
8385
84- return $ items ->map (function ($ item ) use ($ response ) {
86+ $ items = $ items ->map (function ($ item ) use ($ response ) {
8587 $ item ->setMeta ($ response );
88+
8689 return $ item ;
8790 });
91+
92+ // set meta at the collection level
93+ $ items ->setMeta ($ response );
94+
95+ return $ items ;
8896 }
8997
9098 public function processBatchGetItems (Result $ awsResponse , $ modelClass = null )
@@ -108,6 +116,7 @@ public function processBatchGetItems(Result $awsResponse, $modelClass = null)
108116
109117 return $ items ->map (function ($ item ) use ($ response ) {
110118 $ item ->setMeta ($ response );
119+
111120 return $ item ;
112121 });
113122 }
0 commit comments