check(); } else { //multiDB environment, need to foreach (MultiDB::$dbs as $db) { MultiDB::setDB($db); $this->check(); } } } private function check() { Company::where('is_large', false)->withCount(['invoices','clients','products'])->cursor()->each(function ($company){ if ($company->invoices_count > 500 || $company->products_count > 500 || $company->clients_count > 500) { nlog("Marking company {$company->id} as large"); $company->account->companies()->update(['is_large' => true]); } }); // Company::where('is_large', false)->cursor()->each(function ($company) { // if ($company->invoices()->count() > 500 || $company->products()->count() > 500 || $company->clients()->count() > 500) { // nlog("Marking company {$company->id} as large"); // $company->account->companies->update(['is_large' => true]) // } // }); } }