Laravel Где Коллекция - PullRequest
       12

Laravel Где Коллекция

0 голосов
/ 20 сентября 2018

У меня проблемы с коллекциями Laravel.Это мой сценарий:

foreach($getResult->all()['results'] as $key => $val) {
  $colVal = collect($val);

  $dataDiff = [];
  $getWithoutLine = $colVal->except(['line_items']);
  $getDiff = $colVal->only(['line_items']);

  foreach($colVal->all()['line_items'] as $val1) {
    if ((int)$val1['quantity'] - (int)$val1['deliveries']['quantity'] > 0) {
      $getWithoutLine['status'] = 'partially_received';
      $dataDiff[] = $val1;
    }
  }

  $getWithoutLine['line_items'] = $dataDiff;
  //dd($getWithoutLine);
  $filtered = $getWithoutLine->whereStrict('status', 'submitted');
  //dd($filtered->all());
  $getFullCol[] = $filtered;
}

Когда выполняется dd($getWithoutLine), коллекция выглядит следующим образом:

Collection {#464
  #items: array:24 [
    "id" => "13c023aa-b471-4276-a0fc-a22d3677be91"
    "status" => "submitted"
    "date" => "2018-09-19"
    "time" => "11:54:22"
    "number" => "PO000003"
    "description" => "Pesanan Pembelian, Vendor 1"
    "supplier" => array:4 [
      "id" => null
      "code" => null
      "name" => null
      "classification" => null
    ]
    "term_of_payment" => array:6 [
      "due_date" => null
      "due_days" => 0
      "late_charge_rate" => 0.0
      "discount_date" => null
      "discount_days" => 0
      "early_discount_rate" => 0.0
    ]
    ...
    ...
  ]
}

Но когда dd($filtered->all()) выполняется, то результат пуст.Почему это так?

Я не могу понять, что я делаю неправильно.

======= РЕДАКТИРОВАНИЕ

Когда я изменяю dd($filtered->all()) на dd($filtered) результат на самом деле такой же:

Collection {#463
  #items: []
}

====== EDITED

Когда я изменяю $filtered = $getWithoutLine->whereStrict('status', 'submitted'); на $getWithoutLine->only('status'); коллекция работает ...

Collection {#468
  #items: array:1 [
    "status" => "submitted"
  ]
}
...