Laravel Model Parsing Array - PullRequest
       3

Laravel Model Parsing Array

0 голосов
/ 09 октября 2018

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

public function getStep1()
{
    $step1 = $this->details()->get();

    foreach($step1 as $step1)
    {
        $step1 = $step1->step_1;
        return $step1;
    }  
}

Это дает мне следующий вывод, который я не знаю, как разобрать.Я пробовал $ step1 [0], но это просто дает мне [ничего больше.

[["$50,000-$100,000","More than $100,000"]]

Мой шаблон Blade просто такой ...

{{ $question->getStep1() }}

Спасибо за вашhelp.

Обновление:

Когда я выполняю var_dump, он говорит, что мои "шаги" сохраняются в виде строк.Это то, что вызывает проблемы?Я до сих пор не могу попасть в [].

array (size=9)
      'id' => int 1
      'question_id' => int 55
      'step_1' => string '[["$50,000-$100,000","More than $100,000"]]' (length=43)
      'step_2' => string '[["Step2-option1","Step2-option2","Step2-option3"]]' (length=51)
      'step_3' => string '[["Step3-option2"]]' (length=19)
      'step_4' => null
      'step_5' => null
      'created_at' => string '2018-10-03 12:29:05' (length=19)
      'updated_at' => string '2018-10-03 12:29:05' (length=19)

Ответы [ 2 ]

0 голосов
/ 09 октября 2018
public function getStep1()
{
    $steps = $this->details()->get();
    $totalSteps = collect();
    foreach($steps as $step1)
    {
        foreach ($step1 as $step)
        {
             $toalSteps->push($step);
        }

    }
    return $totalSteps;
}
0 голосов
/ 09 октября 2018

Вместо того, чтобы возвращать двойной массив, вы можете просто добавить результаты во временный массив и затем вернуть этот массив, проверьте пример кода:

public function getStep1()
{
    $tempArr = [];
    $steps = $this->details()->get();

    foreach($steps as $step1)
    {
        $tempArr[] = $step1->step_1;
    }

    return $tempArr;
}

Код вашего шаблона должен теперь перебирать массив, который мы построили правильнотеперь, так что foreach требуется.Как ниже:

@foreach($question->getStep1() as $step)
// do something with $step
@endforeach
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...