@@ -18,45 +18,83 @@ public function withDistance(string $column, Geometry | string $geometryOrColumn
1818 $ this ->select ('* ' );
1919 }
2020
21- return $ this ->selectRaw ("ST_DISTANCE(` {$ column }`, {$ geometryOrColumn }) AS {$ alias }" );
21+ return $ this ->selectRaw (
22+ sprintf (
23+ 'ST_DISTANCE(%s, %s) AS %s ' ,
24+ "` {$ column }` " ,
25+ $ geometryOrColumn ,
26+ $ alias ,
27+ )
28+ );
2229 }
2330
2431 public function whereDistance (string $ column , Geometry | string $ geometryOrColumn , string $ operator , int | float $ distance ): self
2532 {
2633 $ geometryOrColumn = $ this ->toExpression ($ geometryOrColumn );
2734
28- $ this ->whereRaw ("ST_DISTANCE(` {$ column }`, {$ geometryOrColumn }) {$ operator } {$ distance }" );
29-
30- return $ this ;
35+ return $ this ->whereRaw (
36+ sprintf (
37+ 'ST_DISTANCE(%s, %s) %s %s ' ,
38+ "` {$ column }` " ,
39+ $ geometryOrColumn ,
40+ $ operator ,
41+ $ distance ,
42+ )
43+ );
3144 }
3245
3346 public function orderByDistance (string $ column , Geometry | string $ geometryOrColumn , string $ direction = 'asc ' ): self
3447 {
3548 $ geometryOrColumn = $ this ->toExpression ($ geometryOrColumn );
3649
37- $ this ->orderByRaw ("ST_DISTANCE(` {$ column }`, {$ geometryOrColumn }) {$ direction }" );
38-
39- return $ this ;
50+ return $ this ->orderByRaw (
51+ sprintf (
52+ 'ST_DISTANCE(%s, %s) %s ' ,
53+ "` {$ column }` " ,
54+ $ geometryOrColumn ,
55+ $ direction ,
56+ )
57+ );
4058 }
4159
42- public function withDistanceSphere (string $ column , Geometry | string $ geometryOrColumn , string $ alias = 'distance ' ): self
43- {
60+ public function withDistanceSphere (
61+ string $ column ,
62+ Geometry | string $ geometryOrColumn ,
63+ string $ alias = 'distance '
64+ ): self {
4465 $ geometryOrColumn = $ this ->toExpression ($ geometryOrColumn );
4566
4667 if (! $ this ->getQuery ()->columns ) {
4768 $ this ->select ('* ' );
4869 }
4970
50- $ this ->selectRaw ("ST_DISTANCE_SPHERE(` {$ column }`, {$ geometryOrColumn }) AS {$ alias }" );
51-
52- return $ this ;
71+ return $ this ->selectRaw (
72+ sprintf (
73+ 'ST_DISTANCE_SPHERE(%s, %s) AS %s ' ,
74+ "` {$ column }` " ,
75+ $ geometryOrColumn ,
76+ $ alias ,
77+ )
78+ );
5379 }
5480
55- public function whereDistanceSphere (string $ column , Geometry | string $ geometryOrColumn , string $ operator , int | float $ distance ): self
81+ public function whereDistanceSphere (
82+ string $ column ,
83+ Geometry | string $ geometryOrColumn ,
84+ string $ operator ,
85+ int | float $ distance ): self
5686 {
5787 $ geometryOrColumn = $ this ->toExpression ($ geometryOrColumn );
5888
59- return $ this ->whereRaw ("ST_DISTANCE_SPHERE(` {$ column }`, {$ geometryOrColumn }) {$ operator } {$ distance }" );
89+ return $ this ->whereRaw (
90+ sprintf (
91+ 'ST_DISTANCE_SPHERE(%s, %s) %s %s ' ,
92+ "` {$ column }` " ,
93+ $ geometryOrColumn ,
94+ $ operator ,
95+ $ distance
96+ )
97+ );
6098 }
6199
62100 public function orderByDistanceSphere (
@@ -66,63 +104,118 @@ public function orderByDistanceSphere(
66104 ): self {
67105 $ geometryOrColumn = $ this ->toExpression ($ geometryOrColumn );
68106
69- return $ this ->orderByRaw ("ST_DISTANCE_SPHERE(` {$ column }`, {$ geometryOrColumn }) {$ direction }" );
107+ return $ this ->orderByRaw (
108+ sprintf (
109+ 'ST_DISTANCE_SPHERE(%s, %s) %s ' ,
110+ "` {$ column }` " ,
111+ $ geometryOrColumn ,
112+ $ direction
113+ )
114+ );
70115 }
71116
72117 public function whereWithin (string $ column , Geometry | string $ geometryOrColumn ): self
73118 {
74119 $ geometryOrColumn = $ this ->toExpression ($ geometryOrColumn );
75120
76- return $ this ->whereRaw ("ST_WITHIN(` {$ column }`, {$ geometryOrColumn }) " );
121+ return $ this ->whereRaw (
122+ sprintf (
123+ 'ST_WITHIN(%s, %s) ' ,
124+ "` {$ column }` " ,
125+ $ geometryOrColumn ,
126+ )
127+ );
77128 }
78129
79130 public function whereContains (string $ column , Geometry | string $ geometryOrColumn ): self
80131 {
81132 $ geometryOrColumn = $ this ->toExpression ($ geometryOrColumn );
82133
83- return $ this ->whereRaw ("ST_CONTAINS(` {$ column }`, {$ geometryOrColumn }) " );
134+ return $ this ->whereRaw (
135+ sprintf (
136+ 'ST_CONTAINS(%s, %s) ' ,
137+ "` {$ column }` " ,
138+ $ geometryOrColumn ,
139+ )
140+ );
84141 }
85142
86143 public function whereTouches (string $ column , Geometry | string $ geometryOrColumn ): self
87144 {
88145 $ geometryOrColumn = $ this ->toExpression ($ geometryOrColumn );
89146
90- return $ this ->whereRaw ("ST_TOUCHES(` {$ column }`, {$ geometryOrColumn }) " );
147+ return $ this ->whereRaw (
148+ sprintf (
149+ 'ST_TOUCHES(%s, %s) ' ,
150+ "` {$ column }` " ,
151+ $ geometryOrColumn ,
152+ )
153+ );
91154 }
92155
93156 public function whereIntersects (string $ column , Geometry | string $ geometryOrColumn ): self
94157 {
95158 $ geometryOrColumn = $ this ->toExpression ($ geometryOrColumn );
96159
97- return $ this ->whereRaw ("ST_INTERSECTS(` {$ column }`, {$ geometryOrColumn }) " );
160+ return $ this ->whereRaw (
161+ sprintf (
162+ 'ST_INTERSECTS(%s, %s) ' ,
163+ "` {$ column }` " ,
164+ $ geometryOrColumn ,
165+ )
166+ );
98167 }
99168
100169 public function whereCrosses (string $ column , Geometry | string $ geometryOrColumn ): self
101170 {
102171 $ geometryOrColumn = $ this ->toExpression ($ geometryOrColumn );
103172
104- return $ this ->whereRaw ("ST_CROSSES(` {$ column }`, {$ geometryOrColumn }) " );
173+ return $ this ->whereRaw (
174+ sprintf (
175+ 'ST_CROSSES(%s, %s) ' ,
176+ "` {$ column }` " ,
177+ $ geometryOrColumn ,
178+ )
179+ );
105180 }
106181
107182 public function whereDisjoint (string $ column , Geometry | string $ geometryOrColumn ): self
108183 {
109184 $ geometryOrColumn = $ this ->toExpression ($ geometryOrColumn );
110185
111- return $ this ->whereRaw ("ST_DISJOINT(` {$ column }`, {$ geometryOrColumn }) " );
186+ return $ this ->whereRaw (
187+ sprintf (
188+ 'ST_DISJOINT(%s, %s) ' ,
189+ "` {$ column }` " ,
190+ $ geometryOrColumn ,
191+ )
192+ );
112193 }
113194
114195 public function whereOverlaps (string $ column , Geometry | string $ geometryOrColumn ): self
115196 {
116197 $ geometryOrColumn = $ this ->toExpression ($ geometryOrColumn );
117198
118- return $ this ->whereRaw ("ST_OVERLAPS(` {$ column }`, {$ geometryOrColumn }) " );
199+ return $ this ->whereRaw (
200+ sprintf (
201+ 'ST_OVERLAPS(%s, %s) ' ,
202+ "` {$ column }` " ,
203+ $ geometryOrColumn ,
204+ )
205+ );
119206 }
120207
121208 public function whereEquals (string $ column , Geometry | string $ geometryOrColumn ): self
122209 {
123210 $ geometryOrColumn = $ this ->toExpression ($ geometryOrColumn );
124211
125- return $ this ->whereRaw ("ST_EQUALS(` {$ column }`, {$ geometryOrColumn }) " );
212+ return $ this ->whereRaw (
213+ sprintf (
214+ 'ST_EQUALS(%s, %s) ' ,
215+ "` {$ column }` " ,
216+ $ geometryOrColumn ,
217+ )
218+ );
126219 }
127220
128221 protected function toExpression (Geometry | string $ geometryOrColumn ): Expression
0 commit comments