44
55use Illuminate \Contracts \Database \Eloquent \Builder as EloquentBuilder ;
66use Illuminate \Contracts \Database \Query \Builder as QueryBuilder ;
7- use Illuminate \Support \Facades \Config ;
87use Illuminate \Support \Traits \Macroable ;
98use Yajra \DataTables \Exceptions \Exception ;
10- use Yajra \DataTables \Utilities \Config as DataTablesConfig ;
9+ use Yajra \DataTables \Utilities \Config ;
1110use Yajra \DataTables \Utilities \Request ;
1211
1312class DataTables
@@ -43,15 +42,17 @@ public static function of($source)
4342 */
4443 public static function make ($ source )
4544 {
46- $ engines = Config:: array ('datatables.engines ' , [] );
47- $ builders = Config:: array ('datatables.builders ' , [] );
45+ $ engines = ( array ) config ('datatables.engines ' );
46+ $ builders = ( array ) config ('datatables.builders ' );
4847
4948 $ args = func_get_args ();
5049 foreach ($ builders as $ class => $ engine ) {
51- if (is_string ($ class ) && $ source instanceof $ class ) {
52- /** @var int|string $engineKey */
53- $ engineKey = is_int ($ engine ) || is_string ($ engine ) ? $ engine : (string ) $ engine ;
54- $ callback = [$ engines [$ engineKey ], 'create ' ];
50+ if (is_string ($ class ) && class_exists ($ class ) && $ source instanceof $ class ) {
51+ $ engineClass = is_string ($ engine ) && isset ($ engines [$ engine ]) ? $ engines [$ engine ] : null ;
52+ if ($ engineClass === null ) {
53+ continue ;
54+ }
55+ $ callback = [$ engineClass , 'create ' ];
5556
5657 if (is_callable ($ callback )) {
5758 /** @var \Yajra\DataTables\DataTableAbstract $instance */
@@ -90,7 +91,7 @@ public function getRequest(): Request
9091 /**
9192 * Get config instance.
9293 */
93- public function getConfig (): DataTablesConfig
94+ public function getConfig (): Config
9495 {
9596 return app ('datatables.config ' );
9697 }
@@ -102,7 +103,8 @@ public function getConfig(): DataTablesConfig
102103 */
103104 public function query (QueryBuilder $ builder ): QueryDataTable
104105 {
105- $ dataTable = Config::string ('datatables.engines.query ' );
106+ /** @var string $dataTable */
107+ $ dataTable = config ('datatables.engines.query ' );
106108
107109 $ this ->validateDataTable ($ dataTable , QueryDataTable::class);
108110
@@ -116,7 +118,8 @@ public function query(QueryBuilder $builder): QueryDataTable
116118 */
117119 public function eloquent (EloquentBuilder $ builder ): EloquentDataTable
118120 {
119- $ dataTable = Config::string ('datatables.engines.eloquent ' );
121+ /** @var string $dataTable */
122+ $ dataTable = config ('datatables.engines.eloquent ' );
120123
121124 $ this ->validateDataTable ($ dataTable , EloquentDataTable::class);
122125
@@ -132,7 +135,8 @@ public function eloquent(EloquentBuilder $builder): EloquentDataTable
132135 */
133136 public function collection ($ collection ): CollectionDataTable
134137 {
135- $ dataTable = Config::string ('datatables.engines.collection ' );
138+ /** @var string $dataTable */
139+ $ dataTable = config ('datatables.engines.collection ' );
136140
137141 $ this ->validateDataTable ($ dataTable , CollectionDataTable::class);
138142
0 commit comments