有个关于链式查询的问题
0

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。这个错误。各位大佬,怎么搞。

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

你需要升级 Laravel 版本。PHP 7.2 有个 Breaking change:http://php.net/manual/en/migration72.incompatible.php#migration72.incompatible.warn-on-non-countable-types

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

6天前
讨论数量: 3

你需要升级 Laravel 版本。PHP 7.2 有个 Breaking change:http://php.net/manual/en/migration72.incompatible.php#migration72.incompatible.warn-on-non-countable-types

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

6天前
sonw

@Wi1dcard 是线上测试版本

6天前

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

6天前

  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
评论须知