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

标签 php laravel

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

在用户 Controller 中定义了以下函数。

错误:

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

最佳答案

似乎 getGroupBaseRole() 方法接受字符串,但您试图传递一个数组 $tempUsers 作为第一个参数。

关于php - Laravel 4.2 中数组到字符串的转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38848747/

相关文章:

php - 表字段值和外键 - LOAD DATA INFILE

javascript - 无法获取从 PHP 到 $.ajax 的 JSON 回显

javascript - 以一定数量的字符隐藏文章的其余部分

php - 如何从 mysql 数据库中获取数据?

PHP MYSQL 日期、时间、日期时间和时间戳

php - Varnish ESI和Wordpress-模拟加载帖子

php - 更改发送到 gmail 或 hotmail 的默认 laravel 电子邮件模板主题

php - 如何在具有多个数据库的 Laravel 5.7 应用程序中从替代数据库获取特定数据

laravel - 在 laravel 中设置页面元标题的正确方法是什么

php - LARAVEL:获取一系列计划任务以在管理仪表板中输出