我正在尋找添加對象到新的集合,因爲我循環通過一系列不同的結果。檢查對象是否已經存在集合 - Laravel
查詢:
$osRed = Item::where('category', 'Hardware')
->where(function ($query) {
$query->where('operating_system', 'xxx')
->orWhere('operating_system', 'xxx')
->orWhere('operating_system', 'xxx');
})
->orderBy('operating_system', 'ASC')
->get();
然後,通過這些結果環路和相關對象添加到一個新的集合。
foreach ($osRed as $os) {
foreach ($os->services as $service) {
if (!($servicesImpacted->contains($service))) {
$servicesImpacted->push($service);
}
}
}
然後,我繼續另一組結果,並將相關服務從這些結果添加到集合中。
但是,它並沒有提到該對象已經在集合中,並且我最終得到了大量(似乎是)重複項。
理想情況下,我想匹配$ service對象的name屬性,但似乎沒有被contains方法支持。
toString() must not throw an exception
你能否提供你的模型和關係你定義了什麼?看來,你可以寫這樣的東西:Item :: where(...) - > with('services'); – YanDatsyuk
所以'$ servicesImpacted'是對象的集合。對? –