Php 将DB::table与一些筛选器条件一起使用

Php 将DB::table与一些筛选器条件一起使用,php,laravel,laravel-5.5,Php,Laravel,Laravel 5.5,我想使用laravel查询生成器创建一个过滤器 我有以下代码: $queries = array(); $paginate = 10; $orders = DB::table('orders')->whereNull('deleted_at'); // the filter i want to apply $from = 2018-06-18; $end = 2018-06-20; $orders->whereBetween('orders.created_at', array($

我想使用laravel查询生成器创建一个过滤器

我有以下代码:

$queries = array();
$paginate = 10;
$orders = DB::table('orders')->whereNull('deleted_at');

// the filter i want to apply
$from = 2018-06-18;
$end = 2018-06-20;
$orders->whereBetween('orders.created_at', array($from, $end));
$queries['dateRange'] = request('dateRange');

// other filters
...

$orders->leftJoin('order_status', 'orders.OrderID', '=', 'order_status.OrderID')
           ->select('orders.*', 'order_status.Status')
           ->orderBy('OrderID', 'desc')
           ->paginate($paginate)
           ->appends($queries);
问题是,我得到了一个错误-不工作。如果a没有使用leftjoin,我可能会这样使用

($orders = Order::query();). 
如何正确使用带有一些过滤器的DB::table查询,或者是另一个更好的解决方案

更新

更具体地说:

此代码适用于:

$orders = DB::table('orders')->whereNull('deleted_at')
        ->leftJoin('order_status', 'orders.OrderID', '=', 'order_status.OrderID')
        ->select('orders.*', 'order_status.Status')
        ->orderBy('orders.OrderID', 'desc')
        ->paginate($paginate)
        ->appends($queries);
此代码不起作用:

$orders = DB::table('orders')->whereNull('deleted_at');

$orders->leftJoin('order_status', 'orders.OrderID', '=', 'order_status.OrderID')
        ->select('orders.*', 'order_status.Status')
        ->orderBy('orders.OrderID', 'desc')
        ->paginate($paginate)
        ->appends($queries);

我已经改变了这种方法,现在它起作用了。问题是我必须在另一行指定分页:

$orders = DB::table('orders')->whereNull('deleted_at');

// date filter
$orders->whereBetween(DB::raw('DATE(orders.created_at)'), array($from, $to));

$orders->leftJoin('order_status', 'orders.OrderID', '=', 'order_status.OrderID')
           ->select('orders.*', 'order_status.Status')
           ->orderBy('orders.OrderID', 'desc');

// the paginate and appends write on new line :)
$orders = $orders->paginate($paginate)->appends($queries);

您可以共享错误消息吗?未定义的属性:Illumb\Database\MySqlConnection::$OrderID在视图$orders->OrderID中…和o在…上…无法访问$orders中的数据您应该在->OrderBy('OrderID','desc')中向OrderBy添加表前缀。。我已经准备好试着。。。同样的错误:)为什么不引用日期$from='2018-06-18';