Laravel как вложить foreach

поэтому у меня есть данные квартал_месяц и месяц. каждый квартал_месяц сам указал данные. в этом случае я хочу этого, на мой взгляд :
Quarter_Month_1 :
-Ян
-Фев
-март
Quarter_Month_2 :
-Апрель
-май
-июнь
и вытравить..

это мой код контроллера

public function index()
    {
        $dth = DTH::all();
        return view('Triwulan.index',compact('dth'));
    }

это когда я делаю dd($dth) :

#items: array:7 [▼
    0 => App\Models\DTH {#363 ▼
      #table: "dth"
      #primaryKey: "id"
      #fillable: array:12 [▶]
      #connection: "mysql"
      #keyType: "int"
      +incrementing: true
      #with: []
      #withCount: []
      +preventsLazyLoading: false
      #perPage: 15
      +exists: true
      +wasRecentlyCreated: false
      #escapeWhenCastingToString: false
      #attributes: array:13 [▼
        "id" => 1
        "kode_akun" => "bagus"
        "jenis_pajak" => "bagus"
        "nominal_pajak" => "50000"
        "npwp" => "Value"
        "nama_wp" => "Bagus"
        "ntpn" => "1234"
        "id_billing" => "123124"
        "keperluan" => "asdas"
        "bulan" => "Oktober"
        "triwulan" => "4"
        "created_at" => "2022-04-28 19:26:42"
        "updated_at" => "2022-04-28 19:26:42"
      ]
      #original: array:13 [▼
        "id" => 1
        "kode_akun" => "bagus"
        "jenis_pajak" => "bagus"
        "nominal_pajak" => "50000"
        "npwp" => "Value"
        "nama_wp" => "Bagus"
        "ntpn" => "1234"
        "id_billing" => "123124"
        "keperluan" => "asdas"
        "bulan" => "Oktober"
        "triwulan" => "4"
        "created_at" => "2022-04-28 19:26:42"
        "updated_at" => "2022-04-28 19:26:42"
      ]

и вот как я считаю, что я хочу:

<div class = "card mb-4">
            Quarter 1
            <ul>
                <li>Januari</li>
                <li>Februari</li>
                <li>March</li>
            </ul>
            Quarter 2
            <ul>
                <li>April</li>
                <li>May</li>
                <li>June</li>
            </ul>
        

Итак, как я могу сделать это на лезвии?

Вы забыли опубликовать файл просмотра.

nice_dev 08.05.2022 12:46

не могу определить код на мой взгляд, я просто могу определить, что я хочу от вывода. спасибо перед

Daffa Raka Mahendra 08.05.2022 12:53

Итак, вы хотите, чтобы вывод был кусками 3?

nice_dev 08.05.2022 12:58

это то же самое, что и куски 1 * 2, я просто не знаю, как отображать месяц внутри четверти месяца

Daffa Raka Mahendra 08.05.2022 13:02

непонятно, что вы имеете в виду. Что вам дает dd($dth);? Можете ли вы вставить вывод в свой вопрос?

nice_dev 08.05.2022 13:04

готово, я добавил результат dd

Daffa Raka Mahendra 08.05.2022 13:08

Итак, в каком столбце указан месяц?

nice_dev 08.05.2022 13:11

все столбцы содержат значение месяца, bcs квартал_месяц и месяц в одной таблице, а не как отношения.

Daffa Raka Mahendra 08.05.2022 13:13

Но этих столбцов нет в вашем dd(); выход. Это bulan или triwulan? Вы можете использовать Google Translate, если английский не является вашим родным языком.

nice_dev 08.05.2022 13:18

Я перевел на английский, поэтому тривулан означает четверть месяца, булан означает месяц. извините за плохое объяснение.

Daffa Raka Mahendra 08.05.2022 13:21

Хорошо, вы можете сослаться на документ это и это.

nice_dev 08.05.2022 13:29
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
11
43
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В коллекции Laravel есть метод, который помогает группировать коллекцию. Я думаю, вы можете сделать это здесь.

$groupedQuarterly = $dth->mapToGroups(function ($item, $key) {
    return [$item['triwulan'] => $item];
})->toArray();

return view('Triwulan.index',compact('groupedQuarterly'));

Это должно дать что-то похожее на:

[
  4 => [
    0 => [
      "id" => 2
      "kode_akun" => "bagus"
      "jenis_pajak" => "bagus"
      "nominal_pajak" => "50000"
      "npwp" => "Value"
      "nama_wp" => "Bagus"
      "ntpn" => "1234"
      "id_billing" => "123124"
      "keperluan" => "asdas"
      "bulan" => "Oktober"
      "triwulan" => "4"
      "created_at" => "2022-04-28 19:26:42"
      "updated_at" => "2022-04-28 19:26:42"
    ]
    1 => [
      "id" => 1
      ...
      "bulan" => "Nov"
      "triwulan" => "4"
      "created_at" => "2022-04-28 19:26:42"
      "updated_at" => "2022-04-28 19:26:42"
    ]
  ]
  3 => [
    0 => [
          ...
          "triwulan" => "3"
     ]
  ]
]

где 4 и 3 обозначают идентификатор/номер «triwulan». С этим, я думаю, вам будет легче манипулировать представлениями.

и на ваш взгляд:

@foreach( $$groupedQuarterly as $i => $quarter )
<div>
  Quarter {{ $i }}
  @foreach( $qurater as $month )
   <div>{{ $month["bulan"] }}</div>
  @endforeach
</div>
@endforeach

и как мне сделать это на лезвии?

Daffa Raka Mahendra 08.05.2022 13:50

@DaffaRakaMahendra В любом случае я добавил образец.

user3532758 08.05.2022 14:06

Другие вопросы по теме