Laravel 5.2でコレクションをフラット化して、リンクされたテーブルのすべての一意の値を単一の行に表示しようとしています。私は3つのテーブル、ユーザー、組織、およびリンクテーブルであるUser_organisationを持っています。ユーザーは複数の組織に所属することができます。行内のunqiueキーをリストするLaravelコレクションをフラット化
参加するとき、私は、次の
"id" "name" "surname" "email" "organisation"
"2001" "Jim" "Tester1" "[email protected]" "ABC"
"2001" "Jim" "Tester1" "[email protected]" "XYZ"
"2001" "Jim" "Tester1" "[email protected]" "123"
"2004" "Bob" "Smith" "[email protected]" "ABC"
"2004" "Bob" "Smith" "[email protected]" "MNO"
"2006" "Tom" "Foo" "[email protected]" "MNO"
を取得しかし、私は次のようにこれを変換したい:自分の組織を一覧表示する各ユーザーのための単一の行。列がそうのように並ぶ場合
"2001" "Jim" "Tester1" "[email protected]" "ABC", "XYZ", "123"
"2004" "Bob" "Smith" "[email protected]" "ABC", "MNO"
"2006" "Tom" "Foo" "[email protected]" "MNO"
それも、よりよい次のようになります。これは、SQLまたはPHPで行われている場合、私は気にしない
"2001" "Jim" "Tester1" "[email protected]" "ABC", "XYZ", "123",
"2004" "Bob" "Smith" "[email protected]" "ABC", , , "MNO"
"2006" "Tom" "Foo" "[email protected]" , , , "MNO"
。私はたくさんのループを使うのを避けようとしており、コレクションメソッドを使用した洗練されたソリューションを望んでいました。
なぜSQLを書かないのですか? – marko
'SELECT GROUP_CONCAT(組織)...グループIDによって'? – eggyal