Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

375
Visualizações
¿Cómo convertir una matriz y una submatriz en una colección en Laravel?

Quiero convertir todos mis datos estáticos para recopilarlos en Laravel.

Estos son mis datos:

 static $menu_list = [ [ 'path' => 'admin/report/transaction', 'active' => 'admin/report', 'name' => 'Report', 'icon' => 'file-text', 'children' => [ 'path' => 'admin/report/transaction', 'active' => 'admin/report/transaction', 'name' => 'Transaction', ], ], ];

Esta función convierte mis datos en una matriz:

 public static function menuList() { $menu_list = collect(self::$menu_list)->map(function ($voucher) { return (object) $voucher; }); }

pero la función anterior solo puede convertir main of array, no puede convertir children => [...] to collection.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Necesitas una llamada recursiva.

 public static function convertToCollection() { $menu_list = self::menuList(self::$menu_list); } public static function menuList($list) { return collect($list)->map(function ($voucher) { if(is_array($voucher)) { return self::menuList($voucher) } return $voucher; }); }
over 4 years ago · Santiago Trujillo Relatório

0

Necesitas usar collect() dentro de map() nuevamente:

 public static function menuList() { $menu_list = collect(self::$menu_list)->map(function ($voucher) { return (object) array_merge($voucher, [ 'children' => collect($voucher['children']) ]); }); }
over 4 years ago · Santiago Trujillo Relatório

0

Simplemente agregue un pequeño código de paz a su enfoque.

 $menu_list = collect(self::$menu_list)->map(function ($voucher) { $voucher['children'] = (object) $voucher['children']; return (object) $voucher; });

Producción

 Illuminate\Support\Collection {#574 ▼ #items: array:1 [▼ 0 => {#573 ▼ +"path": "admin/report/transaction" +"active": "admin/report" +"name": "Report" +"icon": "file-text" +"children": {#567 ▼ +"path": "admin/report/transaction" +"active": "admin/report/transaction" +"name": "Transaction" } } ] }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda