我创建了一个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);
我需要表格显示已减少的排序值,因为我想显示最后下达的订单。
明确字段的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);
}
}
有关如何保持值降序的任何建议?提前谢谢。
答案 0 :(得分:1)
您必须将orderby('erp_orderid', 'desc')
添加到搜索过滤器的查询=>在tne query()
方法
$order = Order::query(); // <- here