File tree Expand file tree Collapse file tree 5 files changed +16
-8
lines changed Expand file tree Collapse file tree 5 files changed +16
-8
lines changed Load Diff Large diffs are not rendered by default.
Original file line number Diff line number Diff line change @@ -194,8 +194,11 @@ public function writeJoin(Select $select): string
194194 return $ sql ;
195195 }
196196
197- public function writeTableWithAlias (Table $ table ): string
197+ public function writeTableWithAlias (? Table $ table ): string
198198 {
199+ if ($ table === null ) {
200+ return '' ;
201+ }
199202 $ alias = $ table ->getAlias ();
200203 $ aliasString = ($ alias !== null && $ alias !== '' ) ? " AS {$ this ->writeTableAlias ($ alias )}" : '' ;
201204 $ schema = ($ table ->getSchema ()) ? "{$ table ->getSchema ()}. " : '' ;
@@ -281,8 +284,8 @@ protected function createQueryObject(string $queryPart): void
281284 {
282285 if (null === $ this ->queryWriterInstances [$ queryPart ]) {
283286 $ writerFactoryMethod = $ this ->queryWriterArray [$ queryPart ];
284- // Check if $writerFactoryMethod is a valid callable string 'Class::method'
285- if (is_string ( $ writerFactoryMethod ) && str_contains ($ writerFactoryMethod , ':: ' )) {
287+ // $writerFactoryMethod is already known to be a string from array< string, string>
288+ if (str_contains ($ writerFactoryMethod , ':: ' )) {
286289 /** @var callable $callable */
287290 $ callable = explode (':: ' , $ writerFactoryMethod );
288291 $ this ->queryWriterInstances [$ queryPart ] = \call_user_func_array (
Original file line number Diff line number Diff line change @@ -134,7 +134,7 @@ public function writeFuncAsColumns(Select $select): array
134134 public function writeColumnWithAlias (Column $ column ): string
135135 {
136136 $ alias = $ column ->getAlias ();
137- if ($ alias !== null && $ alias !== '' && ! $ column ->isAll ()) {
137+ if ($ alias !== null && ! $ column ->isAll ()) { // Removed $alias !== ''
138138 return $ this ->writeColumn ($ column ).' AS ' .$ this ->writer ->writeColumnAlias ($ alias );
139139 }
140140
Original file line number Diff line number Diff line change 1515
1616use NilPortugues \Sql \QueryBuilder \Builder \GenericBuilder ;
1717use NilPortugues \Sql \QueryBuilder \Manipulation \Delete ;
18+ use NilPortugues \Sql \QueryBuilder \Manipulation \QueryException ;
1819
1920/**
2021 * Class DeleteWriter.
@@ -29,7 +30,11 @@ public function __construct(
2930
3031 public function write (Delete $ delete ): string
3132 {
32- $ table = $ this ->writer ->writeTable ($ delete ->getTable ());
33+ $ tableInstance = $ delete ->getTable ();
34+ if ($ tableInstance === null ) {
35+ throw new QueryException ("DELETE query must specify a table. " );
36+ }
37+ $ table = $ this ->writer ->writeTable ($ tableInstance );
3338 /** @var array<string> $parts */
3439 $ parts = ["DELETE FROM {$ table }" ];
3540
Original file line number Diff line number Diff line change @@ -165,7 +165,7 @@ public function itShouldAllowColumnAlias(): void
165165 ->setColumns ([
166166 'userId ' => 'user_id ' ,
167167 'username ' => 'name ' ,
168- 'email ' => ' email ' , // Alias is same as column name, no AS clause should be generated
168+ 'email ' , // Changed
169169 ]);
170170 $ expected = 'SELECT user.user_id AS "userId", user.name AS "username", user.email FROM user ' ;
171171 $ this ->assertSame ($ expected , $ this ->writer ->write ($ this ->query ));
@@ -193,7 +193,7 @@ public function itShouldAllowColumnOrderUsingColumnAlias(): void
193193 ->setColumns ([
194194 'userId ' => 'user_id ' ,
195195 'username ' => 'name ' ,
196- 'email ' => ' email ' , // Alias is same as column name, no AS clause should be generated
196+ 'email ' , // Changed
197197 ])
198198 ->orderBy ('user_id ' , OrderBy::ASC )
199199 ->orderBy ('email ' , OrderBy::DESC );
You can’t perform that action at this time.
0 commit comments