搜索后如何保存表值?

时间:2017-06-21 13:09:10

标签: javascript laravel

我创建了一个JavaScript过滤器来过滤产品表中的记录,过滤器正常工作,问题是当我清除过滤器值时,表会以不同的顺序返回。

例如,我的表在Controller中组织为:

$order = Order::orderby('erp_orderid', 'desc')
          ->join('erp_order_product', 'erp_order_product.erp_createdid', '=', 'erp_order.erp_createdid')
          ->join('erp_product', 'erp_product.erp_productid', '=', 'erp_order_product.erp_productid')
          ->join('erp_product_description', 'erp_product_description.erp_productid', '=', 'erp_product.erp_productid')
          ->paginate(15);

      return view('admin.order')->with('order', $order);

我需要表格显示已减少的排序值,因为我想显示最后下达的订单。

搜索前 enter image description here

搜索时 enter image description here

点击“清理字段”enter image description here

明确字段的JavaScript代码

$(document).on('click', '#clean-form-button', function() {
    $('#marketplace').val("");
    $('#codigopedido').val("");
    $('#codigoproduto').val("");
    $('#quantidade').val("");
    $('#total').val("");
    $('#aprovado').val("");
    $('#comprado').val("");
    $('#fornecedor').val("");
    pesquisaRequest = {
        'marketplace': '',
        'codigopedido': '',
        'codigoproduto': '',
        'quantidade': '',
        'total': '',
        'aprovado': '',
        'comprado': '',
    };
    doSearch();
});

OrderController的“搜索”功能

public function search(Request $request)
    {
        $order = Order::query();
        $product = Product::query();

        if ($request->isMethod('post'))
        {
            $data = json_decode($request->search_data);
            $marketplace;
            $codigopedido;
            $codigoproduto;
            $quantidade;
            $total;
            $aprovado;
            $comprado;

            $marketplace = $data->marketplace;
            $codigopedido = $data->codigopedido;
            $codigoproduto = $data->codigoproduto;
            $quantidade = $data->quantidade;
            $total = $data->total;
            $aprovado = $data->aprovado;
            $comprado = $data->comprado;

            session(['marketplace' => $marketplace]);
            session(['codigopedido' => $codigopedido]);
            session(['codigoproduto' => $codigoproduto]);
            session(['quantidade' => $quantidade]);
            session(['total' => $total]);
            session(['aprovado' => $aprovado]);
            session(['comprado' => $comprado]);


        }

        if (strlen(session('marketplace')) > 0)
        {
            $order = $order->where('erp_marketplace', '=', session('marketplace'));
        }

        if (strlen(session('codigopedido')) > 0)
        {
            $order = $order->where('erp_site', '=', session('codigopedido'));
        }

        if (strlen(session('codigoproduto')) > 0)
        {
            $order = $order->where('erp_createdid', '=', session('codigoproduto'));
        }

        if (strlen(session('quantidade')) > 0)
        {
            $order = $order->where('erp_orderquantity', '=', session('quantidade'));
        }

        if (strlen(session('total')) > 0)
        {
            $order = $order->where('erp_totalvalue', 'LIKE', '%'.session('total').'%');
        }

        if (strlen(session('aprovado')) > 0)
        {
            $order = $order->where('erp_orderaprove', '=', session('aprovado'));
        }


        if (strlen(session('comprado')) > 0)
        {
            $order = $order->where('erp_buyed', '=', session('comprado'));
        }

//        if (strlen(session('fornecedor')) > 0)
//        {
//            $order = $order->join('erp_order_product', 'erp_order_product.erp_createdid', 'erp_order.erp_createdid')
//                            ->join('erp_product', 'erp_product.erp_productid', 'erp_order_product.erp_productid')
//                            ->select('erp_product.erp_distributor')
//                            ->where('erp_distributor', '=', session('fornecedor'));
//        }


          $content = $order->paginate(10);

          if ($request->isMethod('post'))
          {
              return view('admin.order-table')->with('order', $content);

          } else
          {
              return view('admin.order')->with('order', $content);
          }

    }

有关如何保持值降序的任何建议?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您必须将orderby('erp_orderid', 'desc')添加到搜索过滤器的查询=>在tne query()方法

的队伍中
$order = Order::query();  // <- here