У меня проблемы с коллекциями 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"
]
}