如何在模型 Laravel 中返​​回多个自定义值

Posted

技术标签:

【中文标题】如何在模型 Laravel 中返​​回多个自定义值【英文标题】:How to return multiple custom values in model Laravel 【发布时间】:2021-07-04 02:04:10 【问题描述】:

我正在尝试做的是一个附属计划,我希望当我调用一个范围时,它会返回我想要的所有值。将有一个计算平台、卖家和附属公司价值的逻辑。

我已经拥有的是:

public function scopeProfitPlatform($query) 
    return $query->sum('price')*0.6;


public function scopeProfitAffiliate($query) 
    return $query->sum('price')*0.05;


public function scopeProfitBuyer($query) 
    return $query->sum('price')*0.35;

这可行,但我想让它更简单。因此,我不想调用 Order::profitplatform() and order::profitaffiliate, etc....,而是想调用 Order::profit(),它会一次性将所有这些值返回给我。

我尝试使用 Order::profitplatform()->profitaffiliate() 但它不起作用。

我正在考虑为此目的创建一个特定的服务,但我认为没有必要。我认为可以使用范围或其他类似的东西,但是我没有找到解决方案。

感谢任何简化此问题的建议、想法和解决方案。谢谢。

【问题讨论】:

这更像是一个代码审查问题。 【参考方案1】:

试试这个:

Order::profitplatform()->profitaffiliate()->get();

【讨论】:

错误:“在字符串上调用成员函数 Profit()”

以上是关于如何在模型 Laravel 中返​​回多个自定义值的主要内容,如果未能解决你的问题,请参考以下文章

试图在资源 Laravel 中返​​回数据透视表

使用邮递员的 PUT/PATCH 请求在 Laravel 中返​​回状态码 0

通过 Ajax 调用将数组发送到控制器,然后控制器在 Laravel 中返​​回具有该数组的另一个视图

在 Laravel 中返​​回多对多关系的统一 JSON

在 QAbstractItemModel 中返​​回正数行和零列是不是可以?

Laravel Nova 自定义字段获取模型值