Как получить несколько данных при просмотре, переданных из контроллера в PHP? - PullRequest
0 голосов
/ 18 октября 2018

В моем файле контроллера есть функция для передачи данных в мое представление:

public function getDreams() {
    $dreams = Dream::all();
    $dreamsToReturn = $this->highlightWords($dreams);
    $disco = 1;
    $data = array('dreams' => $dreamsToReturn, 'disco' => $disco);
    return view('home')->with('data', $data);
}

У меня нет проблем с $dreamsToReturn, я могу отобразить их в своем представлении:

<div class="col-12 col-md-8 left-side">
    @if(count($data['dreams']) > 0)
        @foreach($data['dreams'] as $key=>$dream)
            <p class="dream-id small-padding">Álom {{sprintf("%03d", $key+1)}}</p>
            <p class="dream-body small-padding">{!!$dream->dream!!}</p>
        @endforeach
    @endif
</div>

Однако я не могу понять, как отобразить значение переменной $disco.Вот что я пытаюсь:

<p class="position-absolute position-percentage blue-text"><? {{$data['disco']}} ?>%</p>

Что не так с этой частью?

Ответы [ 4 ]

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

на стороне контроллера

class class_name extends Controller {
    public $view_data = [];

    public function function_name(){
        $this->view_data['variable_name'] = array('1','2','3');
        return view('view_name', $this->view_data);
    }
}

на стороне обзора

@foreach($variable_name as $v)
    <lable>{{$v}}</lable>
@endforeach 
0 голосов
/ 18 октября 2018

Вы можете использовать compact в функции просмотра для возврата вашего массива следующим образом:

return view('home', compact('data'));

Или вы можете сделать их отдельно:

return view('home', compact('dreamsToReturn', 'disco'));

РЕДАКТИРОВАТЬ:

<p class="position-absolute position-percentage blue-text"><? {{$data['disco']}} ?>%</p>

Измените это на:

<p class="position-absolute position-percentage blue-text">{{$disco}}%</p>

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

Я думаю, вам следует удалить <? ?> из:

 <p class="position-absolute position-percentage blue-text"><? {{$data['disco']}} ?>%</p>

В

<p class="position-absolute position-percentage blue-text"> {{$data['disco']}} %</p>
0 голосов
/ 18 октября 2018

попробуйте использовать этот способ, используйте compact функцию with

return view('home')->with(compact('dreamsToReturn','disco'));

второй способ

return view('home', compact('dreamsToReturn','disco'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...