Laravel запрос - получить данные - PullRequest
0 голосов
/ 04 февраля 2020

Мне нужна помощь в циклическом просмотре моих данных, которые я отправляю через форму:

{
  "_token": "MYJZs0EIuYMKvD7Y56R8DluxGu9vKJuNkMxXy2Ll",
  "name": "Routine 1",
  "sections": {
    "section-1": {
      "section-name": "Section 1",
      "exercises": {
        "1": {
          "name": "Exercise 1"
        },
        "2": {
          "name": "Exercise 2"
        }
      }
    },
    "section-2": {
      "section-name": "Section 2",
      "exercises": {
        "3": {
          "name": "Exercise 21"
        },
        "4": {
          "name": "Exercise 22"
        }
      }
    }
  },
  "submit": "Submit"
}

Как мне правильно пройти через oop и получить доступ к отдельным значениям? Я хочу, чтобы он распечатал:

<h2>Section 1</h2><br/>
<p>Exercise 1</p><br/>
<p>Exercise 2</p><br/>
<h2>Section 2</h2><br/>
<p>Exercise 21</p><br/>
<p>Exercise 22</p><br/>

Я застрял здесь:

public function store(Request $request)
{

    $data = $request;

    $html = "";
    foreach($data as $element){
        $html .= "<h2>" . $element->name .'</h2>';
    }

    return $html;
}

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

1 Ответ

1 голос
/ 04 февраля 2020

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

Если вы хотите сделать это .. зачем попадать на сервер? Вы можете показать пользователю модальный режим с данными запроса и сразу после подтверждения продолжить запрос к серверу.

PS: Я предполагаю, что вы используете Blade.

В любом случае, игнорируя это, вы можете вернуть данные в то же представление и l oop данные там:

public function confirmData(Request $request)
{
    $data = $request->all(); // Getting your values (I'll suggest you to use only() instead)

    return view('some_view')->with('data', $data);
}

Тогда в вашем представлении:

@foreach($data as $key => $value)
  <span>{{ $value }}</span>
@endforeach

Обновление

Чтобы добиться того, чего вы хотите, попробуйте это (я основываюсь на json, который вы опубликовали):

public function confirmData(Request $request)
{
    $sections = $request->get('sections');

    $html = '';

    foreach($sections as $section)
    {
        $html .= "<h2> { $section['section-name'] } </h2>";

        foreach($section['exercises'] as $exercise)
        {
            $html .= "<p> { $exercise['name'] } </p>";
        }
    }

    // ...

    return $html;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...