在使用 Laravel 5.2 中的 filter 函数时,我遇到了一个问题。在过滤后,我得到了一些意外的键,比如“0”、“1”、“2”等等,我该如何去除它们?
过滤之前:
[
{
"id": 1,
"user_id": 11,
"location": "1",
"content": "1",
"interest_id": 1,
"longitude": 1,
"latitude": 1,
"place_id": "1",
"created_at": "2016-06-09 15:44:18",
"updated_at": "2016-06-02 14:28:42",
"deleted_at": null
},
{
"id": 2,
"user_id": 12,
"location": "Forest Lake QLD, Australia",
"content": "I'm newbie. Hello everybody",
"interest_id": 1,
"longitude": 152.9692508,
"latitude": -27.6236519,
"place_id": "ChIJB_NHl8hOkWsRMIne81qjAgU",
"created_at": "2016-06-09 14:28:42",
"updated_at": "2016-06-09 14:28:42",
"deleted_at": null
},
{
"id": 8,
"user_id": 11,
"location": "Hendra QLD, Australia",
"content": "What time is it?",
"interest_id": 1,
"longitude": 153.0635202,
"latitude": -27.4225981,
"place_id": "ChIJAXNg5PBYkWsRIIve81qjAgU",
"created_at": "2016-06-09 14:28:42",
"updated_at": "2016-06-09 14:28:42",
"deleted_at": null
},
{
"id": 9,
"user_id": 11,
"location": "Hendra QLD, Australia",
"content": "Nice Cream!!!!????????",
"interest_id": 2,
"longitude": 153.0635202,
"latitude": -27.4225981,
"place_id": "ChIJAXNg5PBYkWsRIIve81qjAgU",
"created_at": "2016-06-09 14:28:42",
"updated_at": "2016-06-09 14:28:42",
"deleted_at": null
},
{
"id": 4,
"user_id": 17,
"location": "Forest Lake QLD, Úc",
"content": "Have a nice day!",
"interest_id": 1,
"longitude": 152.9692508,
"latitude": -27.6236519,
"place_id": "ChIJB_NHl8hOkWsRMIne81qjAgU",
"created_at": "2016-06-09 14:28:42",
"updated_at": "2016-06-09 14:28:42",
"deleted_at": null
},
{
"id": 7,
"user_id": 18,
"location": "Hendra QLD, Australia",
"content": "Where is Kiet Bui? ❤️❤️❤️❤️❤️",
"interest_id": 1,
"longitude": 153.0635202,
"latitude": -27.4225981,
"place_id": "ChIJAXNg5PBYkWsRIIve81qjAgU",
"created_at": "2016-06-09 14:28:42",
"updated_at": "2016-06-09 14:28:42",
"deleted_at": null
}
]
过滤后,例如id > 5:
{
"2": {
"id": 8,
"user_id": 11,
"location": "Hendra QLD, Australia",
"content": "What time is it?",
"interest_id": 1,
"longitude": 153.0635202,
"latitude": -27.4225981,
"place_id": "ChIJAXNg5PBYkWsRIIve81qjAgU",
"created_at": "2016-06-09 14:28:42",
"updated_at": "2016-06-09 14:28:42",
"deleted_at": null
},
"3": {
"id": 9,
"user_id": 11,
"location": "Hendra QLD, Australia",
"content": "Nice Cream!!!!????????",
"interest_id": 2,
"longitude": 153.0635202,
"latitude": -27.4225981,
"place_id": "ChIJAXNg5PBYkWsRIIve81qjAgU",
"created_at": "2016-06-09 14:28:42",
"updated_at": "2016-06-09 14:28:42",
"deleted_at": null
},
"5": {
"id": 7,
"user_id": 18,
"location": "Hendra QLD, Australia",
"content": "Where is Kiet Bui? ❤️❤️❤️❤️❤️",
"interest_id": 1,
"longitude": 153.0635202,
"latitude": -27.4225981,
"place_id": "ChIJAXNg5PBYkWsRIIve81qjAgU",
"created_at": "2016-06-09 14:28:42",
"updated_at": "2016-06-09 14:28:42",
"deleted_at": null
}
}
如何从结果中移除键2、3和5,并仅获得像过滤之前的数组一样的数组。感谢任何帮助。编辑:我的代码:
$result = $result->filter(function ($item) {
return $item->id > 5;
})->all();
->reject(function ($row) {return $row->id<5;});
呢? - Safoor Safdar