有个关于链式查询的问题

DB::table('goods')
->where(function($query) use($data) {
if (!empty($data['goo_name'] )) {
$query->where('goods.goo_name', 'like' , '%'.$data['goo_name'].'%' );
}
})
->get();
线上php 版本是 5.6 laravel 版本是5.1,后来把线上的PHP升级成PHP 7 ,然后如果链式查询里的where的匿名函数里的判断为假,就报 count(): Parameter must be an array or an object that implements Countable。这个错误。各位大佬,怎么搞。

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

你需要升级 Laravel 版本。PHP 7.2 有个 Breaking change:http://php.net/manual/en/migration72.incom...

另外,有一点不得不说:不做任何评估和测试就对线上环境进行升级,这是对产品十分不负责任的做法。

6年前 评论
讨论数量: 3

你需要升级 Laravel 版本。PHP 7.2 有个 Breaking change:http://php.net/manual/en/migration72.incom...

另外,有一点不得不说:不做任何评估和测试就对线上环境进行升级,这是对产品十分不负责任的做法。

6年前 评论

@Wi1dcard 是线上测试版本

6年前 评论

@sonw 那就好,及时发现问题及时修复。

6年前 评论

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