Rumah  >  Soal Jawab  >  teks badan

Menggabungkan berbilang hasil apabila menyertai jadual: panduan langkah demi langkah

Saya mempunyai pertanyaan yang mengembalikan nama kategori dan subkategorinya.

$subcategories = Subcategory::select('subcategories.name as subcatname', 'categories.name as catname')
                ->join('categories', 'subcategories.idCategory', '=', 'categories.id')
                ->get();

Kini keputusan yang saya dapat adalah seperti berikut:

'Music' => 'Jazz',
'Music' => 'Rock',
'Music' => 'Pop',
'Movie' => 'Action'

Bagaimana saya boleh mengumpulkannya seperti ini:

'Music' => array('Jazz', 'Rock','Pop'),
'Movies' => array('Action')

Adakah ia boleh dilakukan tanpa terlalu banyak lelaran gelung dan semak subkategori mana yang tergolong dalam kategori mana?

P粉769045426P粉769045426221 hari yang lalu564

membalas semua(1)saya akan balas

  • P粉513318114

    P粉5133181142024-04-05 00:21:42

    Boleh guna laravel集合

    Mula-mula anda perlu lulus groupBy 方法进行分组,然后映射setiap kumpulan dan gabungkan setiap sub-array.

    $result = collect($subcategories)
            ->groupBy('catname')
            ->map(function ($item) {
                return array_merge($item->toArray());
            })->all();

    balas
    0
  • Batalbalas