App\Ninja\Repositories\ReferralRepository::getCounts PHP Method

getCounts() public method

public getCounts ( $userId )
    public function getCounts($userId)
    {
        $accounts = Account::where('referral_user_id', $userId)->get();
        $counts = ['free' => 0, 'pro' => 0, 'enterprise' => 0];
        foreach ($accounts as $account) {
            $counts['free']++;
            $plan = $account->getPlanDetails(false, false);
            if ($plan) {
                $counts['pro']++;
                if ($plan['plan'] == PLAN_ENTERPRISE) {
                    $counts['enterprise']++;
                }
            }
        }
        return $counts;
    }

Usage Example

 /**
  * @return \Illuminate\Contracts\View\View
  */
 public function showUserDetails()
 {
     $oauthLoginUrls = [];
     foreach (AuthService::$providers as $provider) {
         $oauthLoginUrls[] = ['label' => $provider, 'url' => URL::to('/auth/' . strtolower($provider))];
     }
     $data = ['account' => Account::with('users')->findOrFail(Auth::user()->account_id), 'title' => trans('texts.user_details'), 'user' => Auth::user(), 'oauthProviderName' => AuthService::getProviderName(Auth::user()->oauth_provider_id), 'oauthLoginUrls' => $oauthLoginUrls, 'referralCounts' => $this->referralRepository->getCounts(Auth::user()->id)];
     return View::make('accounts.user_details', $data);
 }
ReferralRepository