【问题标题】:How to Search Between MIN and MAX in Laravel如何在 Laravel 中搜索 MIN 和 MAX
【发布时间】:2018-10-03 10:51:37
【问题描述】:

我知道在 MySQL 中查询看起来像这样......

SELECT id 
    FROM listings 
    WHERE id  IN (
      SELECT id
      FROM listings
      WHERE price between 200 and 500
    );

在 Laravel Query 中我尝试过...

Listing::select('listings.*')
    ->whereBetween('price', [200, 500])
    ->groupBy('listings.id')
    ->orderBy('listings.id', 'desc')
    ->paginate(1000);

它只显示一个结果。我是不是哪里出错了?感谢您的帮助!

【问题讨论】:

  • 完整显示你的 laravel 查询
  • 你遇到了什么错误?
  • 刚刚更新完整查询
  • @sanduniYW 没有错误
  • 您对查询的预期结果是什么

标签: laravel laravel-5 laravel-5.2 laravel-5.1


【解决方案1】:

试试

Listing:: where(price, '>=', 200 )
                 ->where(price, '<=', 500 )
                 ->groupBy('id')
                 ->orderBy('id', 'desc')
                 ->paginate(1000);

【讨论】:

    【解决方案2】:
    Listing::select('listings.*')
                     ->whereRaw("(listings.price <= ? AND listings.price >= ?) ", [500, 200])
                     ->groupBy('listings.id')
                     ->orderBy('listings.id', 'desc')
                     ->paginate(1000);
    

    【讨论】:

    • 我不确定在旧版本的 laravel 中,如果您使用 eloquent 并调用模型本身,是否必须在每列之前指定表的名称......无论如何我添加了“列表”。在价格之前,尝试一下可能缺少的东西
    • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。
    猜你喜欢
    • 1970-01-01
    • 2013-08-24
    • 2016-08-27
    • 2018-06-06
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 2016-05-11
    • 2017-06-10
    相关资源
    最近更新 更多