@@ -78,7 +78,22 @@ public function getNode(): Node
7878 return (new IsolatedValueAppendingBuilder (
7979 new Node \Expr \Variable ('input ' ),
8080 new Node \Expr \Variable ('output ' ),
81- array_filter ([
81+ [
82+ $ this ->getLookupNode (),
83+ $ this ->merge ?->getNode(),
84+ new Node \Stmt \Return_ (
85+ new Node \Expr \Variable ('output ' )
86+ ),
87+ ]
88+ ))->getNode ();
89+ }
90+
91+ public function getLookupNode () : Node
92+ {
93+ return (new IsolatedValueAppendingBuilder (
94+ new Node \Expr \Variable ('input ' ),
95+ new Node \Expr \Variable ('lookup ' ),
96+ [
8297 new Node \Stmt \TryCatch (
8398 stmts: [
8499 new Node \Stmt \Expression (
@@ -115,10 +130,10 @@ class: new Node\Name\FullyQualified('PDO'),
115130 ),
116131 new Node \Stmt \Expression (
117132 expr: new Node \Expr \Assign (
118- var: new Node \Expr \Variable ('lookup ' ),
133+ var: new Node \Expr \Variable ('data ' ),
119134 expr: new Node \Expr \MethodCall (
120135 var: new Node \Expr \Variable ('stmt ' ),
121- name: new Node \Name ('fetchAll ' ),
136+ name: new Node \Name ('fetch ' ),
122137 args: [
123138 new Node \Arg (
124139 new Node \Expr \ClassConstFetch (
@@ -180,11 +195,10 @@ class: new Node\Name\FullyQualified('PDO'),
180195 ),
181196 ],
182197 ),
183- $ this ->merge ?->getNode(),
184198 new Node \Stmt \Return_ (
185- new Node \Expr \Variable ('output ' )
186- ),
187- ])
199+ expr: new Node \Expr \Variable ('data ' )
200+ )
201+ ]
188202 ))->getNode ();
189203 }
190204
@@ -199,7 +213,7 @@ public function compileParams(): array
199213 name: new Node \Name ('bindParam ' ),
200214 args: [
201215 new Node \Arg (
202- is_string ($ key ) ? new Node \Scalar \String_ ( $ key ) : new Node \Scalar \LNumber ($ key )
216+ is_string ($ key ) ? new Node \Scalar \Encapsed ([ new Node \ Scalar \ EncapsedStringPart ( ' : ' ), new Node \ Scalar \ EncapsedStringPart ( $ key)] ) : new Node \Scalar \LNumber ($ key )
203217 ),
204218 new Node \Arg (
205219 $ param
0 commit comments