Как я могу преобразовать действия коллекции в Eloquent запрос - PullRequest
0 голосов
/ 27 января 2019

Добрый день, ребята, у меня есть такой код

$anfragens_temp=\App\OrdersStatus::select('orders_statuses.anfrageid','orders_statuses.datum','orders_statuses.stid_neu','credit_orders.partner_id','credit_orders.kreditbetrag','credit_orders.brutto_kreditbetrag')
    ->LeftJoin('credit_orders', 'credit_orders.id', '=', orders_statuses.anfrageid')
    ->whereIn('orders_statuses.stid_neu',  $main_array_stat  )
    ->whereDate( 'credit_orders.date' ,'>=',$dt_von)
    ->whereDate('credit_orders.date' ,'<=',$dt_bis)
    ->whereHas('orders', function ($query)use($conditions2) {
           $query->whereIn('partner_id', $conditions2 ); 
    })-> get();

$anfragens_temp=collect($anfragens_temp);
$anfragens_temp=$anfragens_temp->whereIn('stid_neu',array(1,12,31));

$result=$anfragens_temp->groupBy('anfrageid');

foreach($result as $k=>$v){ 
    $semi_result=$anfragens_temp->where('anfrageid',$v[0]->anfrageid)->max('datum');
    $resu = $anfragens_temp->where('anfrageid',$v[0]->anfrageid)->where('datum', $semi_result)->first();
    $max[$resu->partner_id][$k]['stid_neu']=$resu->stid_neu;
    $max[$resu->partner_id][$k]['summ']=$resu->kreditbetrag;
    $max[$resu->partner_id][$k]['brutto_kreditbetrag']=$resu->brutto_kreditbetrag;
}

Пожалуйста, помогите мне преобразовать остальную часть подсчета php в один запрос Eloquent / Проблема в том, что этот дополнительный код подсчета работает очень долго, если яустановить период больших данных И построитель запросов работает намного быстрее. Есть идеи?) Большое спасибо всем

...