گروه بندی چند لایه در دیتاهای لاراول

۱۱ بهمن ۱۳۹۶

گروه بندی چند لایه در لاراول

دیتای زیر را در نظر بگیرید:


[
    {
        "name": "Jakayla Leffler",
        "email": "ocie70@example.com",
        "skilllevel": "professional",
        "teacher": "Peter"
    },
    {
        "name": "Gustave Cummings II",
        "email": "crona.alexandrea@example.net",
        "skilllevel": "intermediate",
        "teacher": "Markus"
    },
    {
        "name": "Ms. Ethelyn Bergnaum MD",
        "email": "deckow.kelvin@example.net",
        "skilllevel": "beginner",
        "teacher": "Peter"
    }
]

یک مثال ساده

یک مثال ساده از متد groupBy در لاراول را در زیر مشاهده می کنید:


return $students->groupBy('skilllevel');

نتیجه به شکل زیر نمایش داده می شود:


{
	"professional": [
		{
			"name": "Jacquelyn Kilback",
			"email": "christopher55@example.net",
			"skilllevel": "professional",
			"teacher": "Chris"
		}
	],
	"beginner": [
		{
			"name": "Miss Ophelia Ryan Jr.",
			"email": "pollich.tristin@example.net",
			"skilllevel": "beginner",
			"teacher": "Chris"
		},
		{
			"name": "Furman Hahn",
			"email": "blowe@example.net",
			"skilllevel": "beginner",
			"teacher": "Markus"
		}
	]
}

دو فیلد برای گروه بندی

حالا دو فیلد را گروه بندی می کنیم:


    return $students->groupBy(['skilllevel','teacher']);

نتیجه زیر حاصل می شود:


{
    "intermediate": {
    "Peter": [
        {
            "name": "Jana McClure III",
            "email": "oliver.pagac@example.com",
            "skilllevel": "intermediate",
            "teacher": "Peter"
        }
    ],
    "Chris": [
        {
            "name": "Rosemarie Barrows",
            "email": "epurdy@example.com",
            "skilllevel": "intermediate",
            "teacher": "Chris"
        }
    ]
    },
    "professional": {
        "Markus": [
            {
            "name": "Katrine Streich",
            "email": "carlee.koepp@example.com",
            "skilllevel": "professional",
            "teacher": "Markus"
            }
        ]
    }
}

بیشتر از دو فیلد در گروه بندی

حالا فرض کنید ما بخواهیم تمام فیلدها را گروه بندی کنیم:


    return $students->groupBy(['skilllevel','teacher', 'name', 'email']);

نتیجه را در زیر مشاهده کنید:


{
	"professional": {
		"Peter": {
			"Mrs. Ella McClure": {
				"forest.bernier@example.com": [
					{
						"name": "Mrs. Ella McClure",
						"email": "forest.bernier@example.com",
						"skilllevel": "professional",
						"teacher": "Peter"
					}
				]
			}
		},
		"Chris": {
			"Miss Assunta Predovic PhD": {
				"amari.klocko@example.com": [
					{
						"name": "Miss Assunta Predovic PhD",
						"email": "amari.klocko@example.com",
						"skilllevel": "professional",
						"teacher": "Chris"
					}
				]
			}
		}
	},
	"intermediate": {
		"Markus": {
			"Keshawn Crona DVM": {
				"vkilback@example.org": [
					{
						"name": "Keshawn Crona DVM",
						"email": "vkilback@example.org",
						"skilllevel": "intermediate",
						"teacher": "Markus"
					}
				]
			}
		}
	}
}

در این مقاله مشاهده کردید که ما با چندین پارامتر گروه بندی را روی داده های خود انجام دادیم.

 نویسنده:حمید شاه محمدی
 تعداد مشاهده خبر:(331)
 هر روز از مقاله های جدید طراحی سایت در کانال تلگرام ما با خبر شوید

 میانگین امتیازات:
 
  تعداد رای دهندگان: {{ count }}
نظرات:

{{ x }}
{{ alert }}

نویسنده:{{ com.name }}
{{ com.body }}
{{ com.created_at }}