如何得到过滤收集背包laravel

new9mtju  于 2022-12-24  发布在  其他
关注(0)|答案(1)|浏览(116)

我有一个按钮需要从表中传递一个经过过滤的集合。现在,当我单击该按钮时,我将得到整个集合。

$this->crud->addButtonFromView('top', 'withdrawDebtCompany', 'withdraw_debt', 'end');

按钮视图

<form action="{{ url($crud->route.'/withdrawAllCompanyDebt') }}" method="POST">
    <button class="btn btn-warning" data-style="zoom-in">
        <span class="ladda-label">
             {{ trans('columns.debt.allwithdraw') }}
        </span>
    </button>
    {{ csrf_field() }}
</form>

方法

public function withdrawDebtCompany()
    {
  
        $bills = $this->crud->query->get();
        Bill::tryWithdrawalsIncrement($bills);
        $res['success'] = 0;
        $res['err'] = 0;
        $bills->each(function($bill) use(&$res){
            $paym = new PaymentsController();
            $result = $paym->payDebt(new Request([
                'bill_id'=>$bill->id,
            ]));
            if($result['code'] == 0) {
                $res['success'] += 1;   
            } else {
                $res['err'] += 1;
           }
        });

        \Alert::add('warning', 'Успешно списано: '.$res['success'].' | Неуспешно списано: '. $res['err'])->flash();
        return redirect()->back();
        
    }

我试着在button方法中跟踪过滤后的集合,但是不起作用。这就是整个集合的作用。过滤后的集合只在页面重载后出现

hiz5n14c

hiz5n14c1#

希望你早日康复。
在您的<form>元素中,您没有任何要POST的输入,所以我想知道,为什么在那里使用表单,而不是<a>或类似的。
我建议您看一看ListOperationhttps://github.com/Laravel-Backpack/CRUD/blob/main/src/app/Http/Controllers/Operations/ListOperation.php
在那里,您将找到数据表用来获取其数据的search端点。
您可以在按钮端点中应用类似的解决方案,以获得如表中所示的过滤结果。
干杯

相关问题