Laravel Collection 클래스에 몇 가지 문제가 있습니다.복잡한 Laravel 컬렉션
것은 내가 할 노력하고있어 무엇 :
- 내가 사이트가 "진행자"를 가지고있는 다중 사이트 해결책을 가지고 있습니다. 때로는 하나의 facilitator가 여러 사이트에 나타나기도합니다.
- 메인 페이지에 모든 촉진자와 웹 사이트를 나열하고 싶지만 여러 사용자가 필요하지는 않습니다.
그래서 내가 현재 할 것입니다 :
- 가 진행자를 가져옵니다.
- 컬렉션을 사용하여 촉진자를 모으고
unique('name')
을 사용하십시오.
이 기능을 사용하면 고유 한 촉진자를 얻을 수 있지만 감지 한 첫 번째 사람을 선택하고 다른 사람을 삭제합니다. unique()
와
Collection {
#items: array:3 [
0 => array:2 [
"name" => "John"
"site" => "Example"
]
1 => array:2 [
"name" => "Martin"
"site" => "Another"
]
2 => array:2 [
"name" => "John"
"site" => "Another"
]
]
}
내가 얻을 것 :
그래서 내가이 컬렉션이 말할 수
Collection {
#items: array:3 [
0 => array:2 [
"name" => "John"
"site" => "Example"
]
1 => array:2 [
"name" => "Martin"
"site" => "Another"
]
]
}
을 그리고 이것은 내가 얻고 싶은 것입니다 :
Collection {
#items: array:3 [
0 => array:2 [
"name" => "John"
"site" => ["Example", "Another"]
]
1 => array:2 [
"name" => "Martin"
"site" => "Another"
]
]
}
누구나 Laravel의 컬렉션 클래스로 이것을 어떻게 달성 할 수 있었는지 알 수 있습니까? 그것은 그에게 반복, 수집 내부에 2 차원 배열을 줄 것이다 있도록
왜 'Group_concat'을 사용하지 않습니까? 이렇게하면 문제가 해결 될 수 있습니다. – Manish
사이트가 DB 수준에서 사용자에게 할당되지 않았습니다. 모든 사이트를 반복하고, facilitator를 찾은 다음 facilitator 객체에 사이트 이름을 추가합니다. 나는이 컬렉션을 가지고 정말로해야 할 것이다. 기본적으로 내가하려는 일은 : 고유하지만 하나의 키를 병합합니다. –
'GroupBy'를 사용해보십시오. 다음은 그 예입니다. 이것은 당신을 도울 수 있습니다. https://laravel.com/docs/5.4/collections#method-groupby – Manish