Переопределить загруженные результаты с отфильтрованными результатами - PullRequest
0 голосов
/ 03 декабря 2018

Я пытаюсь реализовать фильтрацию, как определено здесь .

У меня есть две базы данных и с разными моделями на каждой.Я могу запросить и готовы загрузить эти штрафа без какой-либо фильтрации.Я реализовал ручную / хакерскую фильтрацию с помощью приведенного выше подробного класса фильтров:

BidFilter.php

<?php

protected function sn($sn)
{
    $bid = DB::connection('sqlsrv')->table('Bids')->select('*')->where('crm_ref', '=', $sn)->get();
    $crm = DB::connection('sqlsrv_crm')->table('OpportunityBase')->select('*')->where('new_SalesNumber', '=', $sn)->get();

    return $bid->merge($crm);
}

Глядя на запросы панели отладки, это выглядит такработает.Однако он также загружает обычный загруженный / основной набор результатов, который отображается при просмотре без фильтрации:

Debugbar

DebugbarКак я могу переопределить то, что подается в представление, чтобы передать только мои отфильтрованные результаты?

BidController

<?php

public function index(BidFilter $filters)
{
    $bids = $this->getBids($filters);

    return view('public.bids.index', compact('bids'));
}

protected function getBids(BidFilter $filters)
{
    $bids = Bid::with('crm')->filter($filters);

    return $bids->paginate(10);
}
...