#php #arrays #laravel-blade
#php #массивы #laravel-blade
Вопрос:
Данные из Api после запроса
array:1 [▼
"id" => 1
"name" => "test"
"active_domain" => "https://drycleaner.com"
"domains" => array:1 [▶]
"rr" => array:2 [▼
0 => array:1 [▼
0 => array:1 [▼
"end_at" => "2020-11-08T08:00:00.000 08:00"
]
]
1 => array:1 [▼
0 => array:1 [▼
"end_at" => "2020-11-08T08:00:00.000 08:00"
]
]
]
]
php laravel blade.view
@foreach ($store["rr"] as $key2=>$rr){
@foreach ($rr["rss"] as key3 =>$rss)}
<td>{{ date("d-M-y H:i", strtotime($rss["end_at"])) }}</td>
@endforeach
Неопределенная ошибка end_at. Я думаю, что это проблема с именованием столбцов foreach. Как я могу получить доступ к api, который является «end_at», и вставить в таблицу.
Комментарии:
1. где появляется ключ dssl? Не отображается в вашем выводе массива
2. Вы когда-нибудь слышали о array_combine? Я думаю, вам следует это использовать. И, как заявил другой комментатор, где появляется «dssl»?
Ответ №1:
в синтаксисе блейда вы должны закрывать каждый foreach :
@foreach ($store["dr"] as $key2=>$dr){
@foreach ($dr as key3 =>$dssl)}
<td>{{ date("d-M-y H:i", strtotime($dssl["end_at"])) }}</td>
@endforeach
@endforeach
Ответ №2:
end_at
ключ находится во втором массиве $dr
. Вам нужно снова вызвать foreach или использовать key напрямую, например $dssl[0]["end_at"]
:
<td>{{ date("d-M-y H:i", strtotime($dssl[0]["end_at"])) }}</td>
или с помощью foreach
@foreach ($store["dr"] as $key2=>$dr){
@foreach ($dr["dssl"] as key3 =>$dssl)}
@foreach ($dssl as key4 =>$dss)}
<td>{{ date("d-M-y H:i", strtotime($dss["end_at"])) }}</td>
@endforeach
@endforeach
@endforeach
Комментарии:
1. я думаю, что не хватает одной фигурной скобки.
2. Я думаю, это правильно, какой код вы скопировали?
3. теперь он говорит undefined index: dssl, есть идеи?
4. второй.
5. вы не скопировали corectly. попробуйте показать мне свой текущий код в своем сообщении