11<?php
2+
23namespace Bubu \Database \QueryBuilder ;
34
45trait QueryMethods
@@ -11,7 +12,6 @@ trait QueryMethods
1112 protected array $ values = [];
1213 protected ?string $ orderBy = null ;
1314 protected ?string $ limit = null ;
14- protected ?array $ in = null ;
1515 protected ?string $ join = null ;
1616
1717 public function table (string $ table ): self
@@ -31,9 +31,7 @@ public function insert(array $values): self
3131 foreach ($ values as $ key => $ value ) {
3232 $ columns .= "` {$ key }`, " ;
3333 $ markers .= ": {$ key }, " ;
34- $ this ->values [
35- $ key
36- ] = $ value ;
34+ $ this ->values [$ key ] = $ value ;
3735 }
3836 $ columns = trim ($ columns , ', ' );
3937 $ markers = trim ($ markers , ', ' );
@@ -83,9 +81,7 @@ public function update(array $values): self
8381
8482 $ request .= "` {$ col }` = : {$ marker }, " ;
8583
86- $ this ->values [
87- $ marker
88- ] = $ value ;
84+ $ this ->values [$ marker ] = $ value ;
8985 }
9086 $ request = trim ($ request , ', ' );
9187 $ this ->action = 'UPDATE `[TABLE_NAME]` SET ' . $ request ;
@@ -107,20 +103,18 @@ public function where(array ...$where): self
107103 $ condition = $ this ->condition . ' OR ( ' ;
108104 }
109105 foreach ($ where as $ value ) {
110- if (str_contains ($ value ['expr ' ], '` IN : ' . $ value ['column ' ])) {
111- $ this ->in [] = str_replace (': ' . $ value ['column ' ], $ value ['value ' ], $ value ['expr ' ]);
112- } else {
113- $ marker = ': ' . str_replace ('. ' , '_ ' , $ value ['column ' ]) . QueryBuilder::SECURE . count ($ this ->values );
114- $ tmpExpr = explode (' ' , $ value ['expr ' ]);
115- $ tmpExpr [count ($ tmpExpr )-1 ] = str_replace ('. ' , '_ ' , $ tmpExpr [count ($ tmpExpr )-1 ]);
116- $ value ['expr ' ] = implode (' ' , $ tmpExpr );
117- $ condition .= $ value ['expr ' ] . QueryBuilder::SECURE . count ($ this ->values ) . " AND " ;
118106
119- $ this ->values [
120- $ marker
121- ] = $ value ['value ' ];
107+ $ marker = ': ' . str_replace ('. ' , '_ ' , $ value ['column ' ]) . QueryBuilder::SECURE . count ($ this ->values );
108+ $ tmpExpr = explode (' ' , $ value ['expr ' ]);
109+ $ tmpExpr [count ($ tmpExpr ) - 1 ] = str_replace ('. ' , '_ ' , $ tmpExpr [count ($ tmpExpr ) - 1 ]);
110+ $ value ['expr ' ] = implode (' ' , $ tmpExpr );
111+ $ condition .= $ value ['expr ' ]
112+ . QueryBuilder::SECURE
113+ . count ($ this ->values )
114+ . (str_contains ($ value ['expr ' ], '` IN (: ' . $ value ['column ' ]) ? ') ' : '' )
115+ . " AND " ;
122116
123- }
117+ $ this -> values [ $ marker ] = $ value [ ' value ' ];
124118 }
125119 $ condition = rtrim ($ condition , ' AND ' ) . ') ' ;
126120 $ this ->condition = $ condition ;
0 commit comments