使用 DB 或 Eloquent 出错,提示 Unsupported operand types

搜索了三天,实在没招了,只好在这里斗胆提问了。

背景:
nginx+mysql+laravel5.6

测试:
DB::select('select * from tablename'); // 没问题
DB::table('tablename')->get(); //出错
tablename::select('foo')->get(); //出错

出错提示:Unsupported operand types
出错段落:

public static function flatten($array, $depth = INF)
        {
            $result = [];
            foreach ($array as $item) {
                $item = $item instanceof Collection ? $item->all() : $item;

                if (! is_array($item)) {
                    $result[] = $item;
                } elseif ($depth === 1) {
                    $result = array_merge($result, array_values($item));
                } else {
                    $result = array_merge($result, static::flatten($item, $depth - 1)); //些处为出错点
                }
            }

            return $result;
        }

这个问题非常奇怪,原生mysql查询一切正常,但无法使用DB和Eloquent功能,让人很无语啊。
希望能得到你们的帮忙,谢谢!

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 1

自己找到问题所在了!
其实是PHP版本问题,原来使用的是7.3的版本,现在改为7.2即正常了。
php7.2最好在webtatic.com上下载使用。
记住了这次教训,谢谢大家!给大家添麻烦了!

5年前 评论
zhouciming 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!