【问题标题】:Sorting by price in Mongo Laravel在 Mongo Laravel 中按价格排序
【发布时间】:2021-11-12 06:39:33
【问题描述】:

尝试根据价格对资产进行排序。

blade.php

<form action="/assets/search/" method="GET" class="form-inline">
@csrf
    <div class="searchByPrice pt-3">
       <p class="font-weight-bold">Search By Price</p>
       <label for="price">Volume</label>
       <input type="range" min="0" max="500000" id="price" step="100" name="price"
        oninput="outputUpdate(value)">
       <output for="price" id="volume">250000</output>
       <script>
           function outputUpdate(vol) {
               document.querySelector('#volume').value = vol;
           }
       </script>
     </div>
</form>

控制器

public function show(Request $request, $_id)
    {
        $query = Asset::query();
        if ($p = $request->price) {
            $query->where('price', '<', $p);
        }
        $assets =  $query->get();
        return view('assets::assets',compact('assets'));
    }

dd();

DD($request->price);

我没有得到想要的结果。任何解决方案?或者在 Laravel mongo 中有没有其他按价格排序的解决方案?

【问题讨论】:

  • dd($request->price)的值是多少;
  • 它的值来自范围
  • 可能是因为我在输出中得到了一个字符串?如果是,那么如何转换?
  • 我想看看值是什么,“它的值来自范围”,我不知道它是如何格式化的。
  • 我最后附上了一张有问题的截图

标签: php laravel mongodb backend


【解决方案1】:

我做错的是我需要在 if() 语句中返回查询。像这样

public function show(Request $request, $_id)
    {
        $query = Asset::query();
        if ($p = $request->price) {
           $query->where('price', '<', $p);
           $assets =  $query->get();
           return view('assets::assets',compact('assets'));
        }  
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-10
    • 1970-01-01
    • 2021-02-12
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 2021-11-06
    • 1970-01-01
    相关资源
    最近更新 更多