【问题标题】:Laravel Yajra Datatable wrong search resultLaravel Yajra Datatable 错误的搜索结果
【发布时间】:2019-12-24 07:14:13
【问题描述】:

我坚持要获得正确的搜索结果。最初结果是正确的,但是当我尝试搜索时,它只停留了一个值。

这是我的代码,请指导和帮助。

                    $model
                        ->where('is_back_order', true)
                        ->whereHas('products', function ($q){
                            $q->where('order_products.is_back_order_product', '=' , true)->where('order_products.arrival_status', '=', 'awaiting_for_arrival');
                        })
                        ->join('presta_status', function($join) use ($presta_filters) {
                            $join->on('orders.store_id', '=', 'presta_status.store_id')
                                ->on('orders.status', '=', 'presta_status.status_code')
                                ->whereNotIn('presta_status.status', $presta_filters);
                        });

在此查询下,我在搜索时没有得到正确的结果。 这是完整的代码。 https://gist.github.com/mumer44/0359a47591e7d0f514267ac74a89ebf9

【问题讨论】:

  • 我们需要更多上下文来帮助您。请发布更多代码。尤其是 filterColumn()、editColumn() 和 getQuery() 部分。
  • 你在做什么搜索?哪个关键字?
  • order_reference_link 列
  • 你绝对确定它应该给你多行?

标签: php laravel yajra-datatable


【解决方案1】:

试试这个代码:

$model
->join('presta_status', function($join) use ($presta_filters) {
        $join->on('orders.store_id', '=', 'presta_status.store_id')
        ->on('orders.status', '=', 'presta_status.status_code');
   });
->whereNotIn('presta_status.status', $presta_filters)
->where('is_back_order', true)
    ->whereHas('products', function ($q){
        $q->where('order_products.is_back_order_product', '=' , true)
          ->where('order_products.arrival_status', '=', 'awaiting_for_arrival');
    })
    

【讨论】:

    猜你喜欢
    • 2020-10-06
    • 1970-01-01
    • 2018-03-03
    • 2021-07-23
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多