Laravel/Php - 在急切加载关闭中修改集合?

Posted

技术标签:

【中文标题】Laravel/Php - 在急切加载关闭中修改集合?【英文标题】:Laravel/Php - Modify the collection in eager loading closure? 【发布时间】:2021-04-17 16:31:34 【问题描述】:

我正在尝试修改此查询:

helper 类的函数通过删除销售中使用的金额等返回剩余的产品。如果我在函数内使用 dd(),它可以正常工作。但是,$products 集合并没有改变,我缺少什么来使用帮助程序返回的集合成功修改基本 $products 数组?

如果有帮助,这里是辅助类:

如果有更好的方法来处理这个问题,我很高兴每一个建议。

最好的问候

编辑:

我已经尝试了评论中的答案,将帮助程序作为闭包参数传​​递,但仍然没有运气。

【问题讨论】:

您必须将助手作为闭包参数传​​递... 我已经尝试过你的建议,但不确定你是不是这个意思。我仍然没有解决这个问题。 @SamuelAialaFerreira 【参考方案1】:

我认为你必须在 with orders 函数中添加一个return

return Helper::calculateNumberOfQuantityLeftPerOrder($query->get());

【讨论】:

我试过了,结果是一样的。不过还是谢谢你的建议。

以上是关于Laravel/Php - 在急切加载关闭中修改集合?的主要内容,如果未能解决你的问题,请参考以下文章

约束急切负载的自定义 orderBy()?

Laravel 约束急切加载 - 如果关系列应用限制!= 1

何时在休眠中使用延迟加载/急切加载?

属性装饰器急切加载和一般使用 Django 的急切加载

急切的加载未加载到导轨中

如何在 laravel 中检索用户时急切加载?