调用成员函数 where() on float in laravel 5.4

Call to a member function where() on float in laravel 5.4

这不是重复的问题。抱歉这样的开头。

$sum = DB::table('tasklists')->sum('list_weight')->where('task_id','10');

它告诉我在 float 上调用成员函数 where()。我正在寻找原因......

where 之后使用 sum,因为您需要先条件化,然后再获取输出。

当您在 DB 上调用生成输出或查询结果的函数时,会发生什么情况,外观运行查询并为您提供输出。

因此,在您调用 sum 的情况下,会执行在 sum 之前准备的查询,并且 sum returns 结果总和,即 float.

现在,您正在尝试访问浮点数(sum 的输出)而不是查询本身的 where 方法。

这就是您收到错误的原因。