我通过-> get()从数据库中提取数据;并想基于foreach循环中的条件删除某个元素,所以我需要
之类的东西foreach($datas as $data) {
$data->forget(this);
}
或者我计算索引或其他内容,但是我需要找到一种删除索引的方法,因为-> forget()仅适用于集合实例(似乎不适用于雄辩的集合),知道吗?
这是我的日志格式:
[{"id":14,...},{"id":15,...}...]
所以我得到数组中的对象。
这是dd();
Collection {#274 ▼
#items: array:4 [▼
0 => Data {#275 ▶}
1 => Data {#276 ▶}
2 => Data {#277 ▶}
3 => Data {#278 ▶}
]
}
编辑:我知道最好只选择所需的元素,但这是不可能的,或者是不希望的,因为我正在对结果进行长期的碳相关检查,并希望根据不同的情况做一些事情。 / p>
编辑2: 我可以删除(1..2和3),但是不能删除0,它告诉我未定义的偏移量?
答案 0 :(得分:1)
如果您要删除项目中的特定属性,也许正在寻找map
:
$datas = $datas->map(function ($data) {
// modify $data here, unset unset($data->property);
return $data;
});
或filter
删除整个项目:
$datas = $datas->filter(function ($data) {
return ($data->property == 'bar') ? true : false;
});