如何从控制器中的PHP传递的视图中检索多个数据?

时间:2018-10-18 08:52:02

标签: php laravel

我的控制器文件中有一个函数,可将数据传递到我的视图:

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 :(得分:0)

尝试使用这种方式 使用compact函数with

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

第二种方式

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

答案 1 :(得分:0)

您可以在视图函数中使用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>

答案 2 :(得分:0)

我认为您应该从{中删除<? ?>

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

收件人

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

答案 3 :(得分:0)

在控制器端

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