2016-08-09 5 views
4

私は1つで働いていたLaravelプロジェクトを使用して92Fiveアプリケーション。ユーザリストにアクセスするとき。その何かが間違ったページになった。エラーログにArray to string conversion Errorと表示されます。文字列変換への配列Laravelのエラー4.2

ユーザコントローラでは、以下の機能が定義されています。

エラー:

[2016-08-09 13:13:12] log.ERROR: Something Went Wrong in User Repository - getAllUsersData():Array to string conversion [] []

マイコード:

public function getAllUsersData() 
    { 
      try{ 

      $users = array(); 
      $tempUsers = \User::all()->toArray(); 

       $users = $this->getGroupBaseRole($tempUsers); 

      return $users; 
     } 
     catch (\Exception $e) 
     { 


      \Log::error('Something Went Wrong in User Repository - getAllUsersData():'. $e->getMessage()); 
      throw new SomeThingWentWrongException(); 
     } 
    } 

    public function getGroupBaseRole($groupMembersInfo) { 

       $data = []; 

       if(!empty($groupMembersInfo) && isset($groupMembersInfo)) { 

       foreach($groupMembersInfo as $user) 
       { 

        $banned = false; 
        $suspended = false; 
        $loginAttempt = 0; 
        $usersThrottle = \Throttle::where('user_id',$user['id'])->get()->toArray(); 

       // print_r($usersThrottle); exit; 

        if(sizeof($usersThrottle) != 0) 
        { 
         foreach($usersThrottle as $userThrottle) 
         { 

          if($userThrottle['banned'] == true) 
          { 
           $banned = true; 
          } 
          if($userThrottle['suspended'] == true) 
          { 
           $suspended = true; 
          } 
          $loginAttempt = $loginAttempt + $userThrottle['attempts']; 
         } 

         $user['banned'] = $banned; 
         $user['suspended'] = $suspended; 
         $user['loginAttempt'] = $loginAttempt; 

        } 
        else 
        { 
         $user['banned'] = false; 
         $user['suspended'] = false; 
         $user['loginAttempt'] = 0; 
        } 
        $groupUser = \Sentry::findUserById($user['id']); 


        $groups = $groupUser->getGroups()->toArray(); 


        if(sizeof($groups)!=0) 
        { 
        $user['role'] =$groups[0]['name']; 
        } 
        else 
        { 
         $user['role'] = ''; 
        } 

        $data[] = $user; 
       }   

      } 

      return $data; 
     } 
+0

あなたは関係を使用しなければならない、あなたの基本的な構造は間違っている – DsRaj

答えて

0

それはgetGroupBaseRole()メソッドは文字列を受け取りseeems、しかし、あなたが最初の引数として配列を渡す$tempUsersしようとしています。

関連する問題