数组到字符串转换Laravel 4.2中的错误

时间:2016-08-09 10:52:08

标签: php laravel

我使用Laravel应用程序在一个92Five项目中工作。当访问用户列表时。它转到了一些错误的页面。它在错误日志中显示Array to string conversion Error

在用户控制器中定义以下功能。

错误:

  

[2016-08-09 13:13:12] log.ERROR:用户出错了   存储库 - getAllUsersData():数组到字符串转换[] []

我的代码:

   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;
        }

1 个答案:

答案 0 :(得分:0)

它看起来getGroupBaseRole()方法接受字符串,但你试图将数组$tempUsers作为第一个参数传递。