@@ -200,7 +200,7 @@ public function go(): int
200200 /**
201201 * @param array|string $table
202202 * @param string $field
203- * @return string|$this
203+ * @return QueryBuilder|array
204204 */
205205 public function count ($ table , string $ field = '' )
206206 {
@@ -221,7 +221,7 @@ public function count($table, string $field = '')
221221
222222 /**
223223 * @param string $column
224- * @return QueryBuilder|string| array
224+ * @return QueryBuilder|array
225225 */
226226 public function column (string $ column = 'id ' )
227227 {
@@ -236,6 +236,7 @@ public function column(string $column = 'id')
236236 }
237237
238238 $ this ->query ();
239+
239240 return array_column ($ this ->result , $ column );
240241 //$this->query('', [], $column, self::FETCH_COLUMN);
241242 //return $this->result;
@@ -268,6 +269,7 @@ public function pluck(string $key = 'id', string $column = '')
268269 }
269270
270271 $ this ->query ();
272+
271273 return array_column ($ this ->result , $ column , $ key );
272274 }
273275
@@ -511,7 +513,7 @@ private function prepareSorting(string $field = '', string $sort = ''): array
511513 * @param array $params
512514 * @param int|string $column
513515 * @param int $fetch
514- * @return $this
516+ * @return QueryBuilder
515517 */
516518 public function query (string $ sql = '' , array $ params = [], $ column = 0 , int $ fetch = self ::FETCH_ALL ): QueryBuilder
517519 {
@@ -556,12 +558,13 @@ public function query(string $sql = '', array $params = [], $column = 0, int $fe
556558 return $ this ;
557559 }
558560
559- /**
560- * @param array|string $table
561- * @param array|string $fields
562- * @return $this
563- */
564- public function select ($ table , $ fields = '* ' , $ dist = false ): QueryBuilder
561+ /**
562+ * @param array|string $table
563+ * @param array|string $fields
564+ * @param bool $dist
565+ * @return QueryBuilder
566+ */
567+ public function select ($ table , $ fields = '* ' , bool $ dist = false ): QueryBuilder
565568 {
566569 if (empty ($ table ) || empty ($ fields )) {
567570 $ this ->setError ('Empty $table or $fields in ' . __METHOD__ );
@@ -598,7 +601,7 @@ public function select($table, $fields = '*', $dist = false): QueryBuilder
598601 /**
599602 * @param array|string $where
600603 * @param string $addition
601- * @return $this
604+ * @return QueryBuilder
602605 */
603606 public function where ($ where , string $ addition = '' ): QueryBuilder
604607 {
@@ -624,7 +627,7 @@ public function where($where, string $addition = ''): QueryBuilder
624627
625628 /**
626629 * @param array|string $having
627- * @return $this
630+ * @return QueryBuilder
628631 */
629632 public function having ($ having ): QueryBuilder
630633 {
@@ -647,7 +650,7 @@ public function having($having): QueryBuilder
647650 /**
648651 * @param array|string $field
649652 * @param string $value
650- * @return $this
653+ * @return QueryBuilder
651654 */
652655 public function like ($ field , string $ value = '' ): QueryBuilder
653656 {
@@ -670,7 +673,7 @@ public function like($field, string $value = ''): QueryBuilder
670673 /**
671674 * @param array|string $field
672675 * @param string $value
673- * @return $this
676+ * @return QueryBuilder
674677 */
675678 public function notLike ($ field , string $ value = '' ): QueryBuilder
676679 {
@@ -707,7 +710,7 @@ public function isNull(string $field): QueryBuilder
707710
708711 /**
709712 * @param string $field
710- * @return $this
713+ * @return QueryBuilder
711714 */
712715 public function isNotNull (string $ field ): QueryBuilder
713716 {
@@ -722,7 +725,7 @@ public function isNotNull(string $field): QueryBuilder
722725
723726 /**
724727 * @param string $field
725- * @return $this
728+ * @return QueryBuilder
726729 */
727730 public function notNull (string $ field ): QueryBuilder
728731 {
@@ -732,7 +735,7 @@ public function notNull(string $field): QueryBuilder
732735
733736 /**
734737 * @param int $limit
735- * @return $this
738+ * @return QueryBuilder
736739 */
737740 public function limit (int $ limit = 1 ): QueryBuilder
738741 {
@@ -747,7 +750,7 @@ public function limit(int $limit = 1): QueryBuilder
747750
748751 /**
749752 * @param int $offset
750- * @return $this
753+ * @return QueryBuilder
751754 */
752755 public function offset (int $ offset = 0 ): QueryBuilder
753756 {
@@ -758,7 +761,7 @@ public function offset(int $offset = 0): QueryBuilder
758761 /**
759762 * @param string|array $field
760763 * @param string $sort
761- * @return $this
764+ * @return QueryBuilder
762765 */
763766 public function orderBy ($ field = '' , string $ sort = '' ): QueryBuilder
764767 {
@@ -793,7 +796,7 @@ public function orderBy($field = '', string $sort = ''): QueryBuilder
793796
794797 /**
795798 * @param string|array $field
796- * @return $this
799+ * @return QueryBuilder
797800 */
798801 public function groupBy ($ field = '' ): QueryBuilder
799802 {
@@ -809,7 +812,7 @@ public function groupBy($field = ''): QueryBuilder
809812
810813 /**
811814 * @param array|string $table
812- * @return $this
815+ * @return QueryBuilder
813816 */
814817 public function delete ($ table ): QueryBuilder
815818 {
@@ -835,7 +838,7 @@ public function delete($table): QueryBuilder
835838 /**
836839 * @param array|string $table
837840 * @param array $fields
838- * @return $this
841+ * @return QueryBuilder
839842 */
840843 public function insert ($ table , array $ fields = []): QueryBuilder
841844 {
@@ -880,7 +883,7 @@ public function insert($table, array $fields = []): QueryBuilder
880883 /**
881884 * @param array|string $table
882885 * @param array $fields
883- * @return $this
886+ * @return QueryBuilder
884887 */
885888 public function update ($ table , array $ fields = []): QueryBuilder
886889 {
@@ -914,9 +917,9 @@ public function update($table, array $fields = []): QueryBuilder
914917
915918 /**
916919 * @param array|string $table
917- * @param $on
920+ * @param array|string $on
918921 * @param string $join_type
919- * @return $this
922+ * @return QueryBuilder
920923 */
921924 public function join ($ table , $ on , string $ join_type = 'INNER ' ): QueryBuilder
922925 {
@@ -963,7 +966,7 @@ public function join($table, $on, string $join_type = 'INNER'): QueryBuilder
963966
964967 /**
965968 * @param bool $unionAll
966- * @return $this
969+ * @return QueryBuilder
967970 */
968971 public function union (bool $ unionAll = false ): QueryBuilder
969972 {
@@ -973,7 +976,7 @@ public function union(bool $unionAll = false): QueryBuilder
973976 }
974977
975978 /**
976- * @return $this
979+ * @return QueryBuilder
977980 */
978981 public function unionAll (): QueryBuilder
979982 {
@@ -985,7 +988,7 @@ public function unionAll(): QueryBuilder
985988 /**
986989 * @param string|array $table
987990 * @param bool $unionAll
988- * @return $this
991+ * @return QueryBuilder
989992 */
990993 public function unionSelect ($ table , bool $ unionAll = false ): QueryBuilder
991994 {
@@ -994,11 +997,6 @@ public function unionSelect($table, bool $unionAll = false): QueryBuilder
994997 return $ this ;
995998 }
996999
997- if (mb_strpos (mb_strtolower ($ this ->sql ), 'union ' ) !== false ) {
998- $ this ->setError ('SQL has already UNION in ' . __METHOD__ );
999- return $ this ;
1000- }
1001-
10021000 $ this ->concat = true ;
10031001 $ fields = $ this ->fields ? : '* ' ;
10041002 $ this ->sql .= $ unionAll ? ' UNION ALL ' : ' UNION ' ;
@@ -1014,7 +1012,7 @@ public function unionSelect($table, bool $unionAll = false): QueryBuilder
10141012 }
10151013
10161014 /**
1017- * @return $this
1015+ * @return QueryBuilder
10181016 */
10191017 public function excepts (): QueryBuilder
10201018 {
@@ -1024,8 +1022,8 @@ public function excepts(): QueryBuilder
10241022 }
10251023
10261024 /**
1027- * @param $table
1028- * @return $this
1025+ * @param string|array $table
1026+ * @return QueryBuilder
10291027 */
10301028 public function exceptSelect ($ table ): QueryBuilder
10311029 {
@@ -1053,7 +1051,7 @@ public function exceptSelect($table): QueryBuilder
10531051 }
10541052
10551053 /**
1056- * @return $this
1054+ * @return QueryBuilder
10571055 */
10581056 public function intersect (): QueryBuilder
10591057 {
@@ -1063,8 +1061,8 @@ public function intersect(): QueryBuilder
10631061 }
10641062
10651063 /**
1066- * @param $table
1067- * @return $this
1064+ * @param string|array $table
1065+ * @return QueryBuilder
10681066 */
10691067 public function intersectSelect ($ table ): QueryBuilder
10701068 {
@@ -1102,7 +1100,7 @@ public function __toString(): string
11021100 /**
11031101 * @param string $viewName
11041102 * @param bool $addExists
1105- * @return $this
1103+ * @return QueryBuilder
11061104 */
11071105 public function createView (string $ viewName , bool $ addExists = true ): QueryBuilder
11081106 {
@@ -1127,7 +1125,7 @@ public function createView(string $viewName, bool $addExists = true): QueryBuild
11271125 /**
11281126 * @param string $viewName
11291127 * @param bool $addExists
1130- * @return $this
1128+ * @return QueryBuilder
11311129 */
11321130 public function dropView (string $ viewName , bool $ addExists = true ): QueryBuilder
11331131 {
@@ -1148,7 +1146,7 @@ public function dropView(string $viewName, bool $addExists = true): QueryBuilder
11481146 /**
11491147 * @param string $table
11501148 * @param bool $addExists
1151- * @return $this
1149+ * @return QueryBuilder
11521150 */
11531151 public function drop (string $ table , bool $ addExists = true ): QueryBuilder
11541152 {
@@ -1167,7 +1165,7 @@ public function drop(string $table, bool $addExists = true): QueryBuilder
11671165
11681166 /**
11691167 * @param string $table
1170- * @return $this
1168+ * @return QueryBuilder
11711169 */
11721170 public function truncate (string $ table ): QueryBuilder
11731171 {
@@ -1182,6 +1180,9 @@ public function truncate(string $table): QueryBuilder
11821180 return $ this ;
11831181 }
11841182
1183+ /**
1184+ * @return string
1185+ */
11851186 public function getDriver (): string
11861187 {
11871188 return strtolower ($ this ->pdo ->getAttribute (PDO ::ATTR_DRIVER_NAME ));
0 commit comments