我有一个api调用,返回一组这样的数据:
int main()
{
//A initalized Graph (not in form of adjaceny list
map<int, list<int> > graph{ { 3, {2} },
{ 4, {5} },
{ 5, {6} },
{ 6, {7} },
{ 7, {7} },
{ 8, {6} }
};
//Default constrcutor takes care of making the initialzed map to adjaceny list
Graph g(graph);
g.addVertex(1);
g.addVertex(2);
g.addVertex(3);
g.addVertex(4);
g.addVertex(4);
g.addEdge(1, 2);
g.addEdge(2, 2);
g.addEdge(2, 3);
g.display();
return 0;
}
我把它放到一个变量中并从中创建了一个集合:
{
"id": 97423,
"visitor_id": 231505,
"domain_sessionidx": 1,
"session_start": "2017-06-01 04:40:07",
"session_end": "2017-06-01 05:22:45",
"session_length": 2558,
"count_pages": 11,
"count_pings": 7,
"created_at": null,
"updated_at": "2017-06-12 18:59:51",
"pages": [
1829,
1811,
1829,
1501,
1829,
1889,
1762,
1686,
1825,
1825,
1825
] },....
我遇到了问题,因为我只想访问数据中包含id 1762的数据中的记录。我一直在尝试:
$new_var = collect($result);
但我总是得到一个空洞的结果。非常感谢任何帮助。
答案 0 :(得分:3)
我觉得您需要过滤$new_var
集合,如果true
属性包含您要查找的页面,则返回pages
。例如:
$page = 1762;
$inPages = $new_var->filter(function($collection) use($page){
return in_array($page, $collection->pages);
});
$inPages
现在应该是$new_var
的子集,其1762
数组中的条目包含pages
,否则它将为空Collection
。点击此处查看更多信息:https://laravel.com/docs/5.4/collections