protected function dataTables(){ $allModels = (new Query())->select( '('.(new Query())->select('count(*)')->from(Auctions::tableName())->createCommand()->rawSql.') as auctions,'. '('.(new Query())->select('count(*)')->from(Dealers::tableName())->createCommand()->rawSql.') as dealers,'. '('.(new Query())->select('count(*)')->from(Companies::tableName())->createCommand()->rawSql.') as companies,'. '('.(new Query())->select('count(*)')->from(Brands::tableName())->createCommand()->rawSql.') as brands,'. '('.(new Query())->select('count(*)')->from(Categories::tableName())->createCommand()->rawSql.') as categories' )->one(); $_message = Auction::loggerMessageFormat('Admin Dashboard Created With :: ',$allModels); Auction::info($_message); return new ArrayDataProvider([ 'allModels' => $allModels, 'pagination' => false ]); }
public function getDealerDetails(){ return (new Query())->select('Coalesce(ds.security, 0) as `dealerSecurity`,count(dc.id) as dealerCompanies,count(da.dealer) as dealerAuctions') ->from(Dealers::tableName(). 'd') ->leftJoin(DealerCompany::tableName().' dc', 'dc.dealer=d.id') ->leftJoin(DealerSecurity::tableName(). 'ds', 'ds.dealer=d.id') ->leftJoin(DealerAuctions::tableName().' da', 'da.dealer=d.id') ->where([ 'd.id' => $this->id ])->one(); }