Я пытаюсь реализовать фильтрацию, как определено здесь .
У меня есть две базы данных и с разными моделями на каждой.Я могу запросить и готовы загрузить эти штрафа без какой-либо фильтрации.Я реализовал ручную / хакерскую фильтрацию с помощью приведенного выше подробного класса фильтров:
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
Как я могу переопределить то, что подается в представление, чтобы передать только мои отфильтрованные результаты?
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);
}