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(); }
public function getCompanyDetails(){ return (new Query())->select( '('.(new Query())->select('count(*)')->from(Auctions::tableName())->where(['company' => $this->id])->createCommand()->rawSql.') as companyAuctions,'. '('.(new Query())->select('count(*)')->from(CompanyUsers::tableName())->where('company=:c and user!=:u',[':c' => $this->id , ':u' => Auction::$app->user->id])->createCommand()->rawSql.') as companyUsers,'. '('.(new Query())->select('count(*)')->from(DealerCompany::tableName())->where(['company' => $this->id])->createCommand()->rawSql.') as companyDealers' )->one(); }