当前位置: 首页 > 知识库问答 >
问题:

在Laravel与雄辩得到最低的价格

南门正业
2023-03-14

有没有更好的方法,以最低的价格与拉威尔雄辩的对象?每个产品都有多个票证类型,每个票证类型可以有多个价格。

    public function includeLowestPrice(Product $product)
    {

    $lowestPriceTicket = null;

    foreach ($product->ticketTypes()->hasActivePrices()->get() as $type) {
        foreach ($type->prices()->get() as $ticketPrice) {
            if (!$lowestPriceTicket || $ticketPrice->value < $lowestPriceTicket->value) {
                $lowestPriceTicket = $ticketPrice;
            }
        }
    }

    return $lowestPriceTicket ? $this->item($lowestPriceTicket, new TicketPriceTransformer()) : null;
    }

共有1个答案

屈翰飞
2023-03-14
$product->ticketTypes()->hasActivePrices()->orderBy('price')‌​->first() 

将获取价格最低的产品,假设price是字段的名称,hasActivePrices是返回雄辩的查询生成器的查询范围。

first()将返回第一个模型而不是集合,并且orderBy()将对查询进行排序

 类似资料:
  • 我试着补充: 并用调用,但响应为空。

  • 问题内容: 我的数据库结构包含列:。我想检索与最低行的 每一个 。我一直在尝试弄乱and ,仍然-没有解决方案。 问题答案: 解决方案1: 解决方案2: 这个问题非常有名,因此在Mysql的手册中有专门的页面。 请检查以下内容: 行包含某列的分组最大/最小值

  • 我正在构建一个客户端应用程序,它需要在服务器API响应中包含相关模型的ID。 在我的例子中,我有两个模型,一个Post和一个Tag模型。它们之间的关系是多对多的,所以需要一个数据透视表。 我在路径上设置了一个resourcefull控制器,如下所示: 这将返回一个非常像这样的响应: 我要寻找的是一种在响应中包含相关标签模型ID的简单方法,如下所示:

  • 我正在执行数据库操作与"雄辩ORM在Laravel"。我只想取数据库中最后一个插入id(不是最大id)。 我在laravel Eloquent ORM中搜索到最后一个插入标识,我得到了以下链接(Laravel,使用Eloquent获取最后一个插入标识),即从以下函数获取最后一个插入标识

  • 我是新来的拉威尔,我曾在codeigniter工作。我对雄辩的ORM概念着迷。我有一个关于雄辩能力的一般性问题。ORM的功能是什么,我的意思是我们可以获得相关表行的级别。如果你看“http://four.laravel.com/docs/eloquent#relationships 一对一 一对多 多对多 多态关系 在我看来,“一对一”意味着一级。表1表2

  • 在有说服力的ORM上,是否有一种较短的方法在Laravel中插入数据? 目前我正在这样做: 就像你看到的,所有的列都像属性一样命名。 我知道您可以将对象与all()函数和fetch()一起使用。但是我从另一个对象(soap服务器)获取数据。 有没有办法转换这个?也许在模型上?