在Laravel中,从控制器到视图的变量没有foreach循环

时间:2019-03-04 13:53:13

标签: php laravel view laravel-blade

我想显示创建的文章的内容,我的控制器中有一个show方法

    public function show_capitulos($id)
{

    $data=Capitulo::select('capitulos.titulo as capitulo','capitulos.descripcion','capitulo_secciones.contenido','capitulo_videos.video')
    ->join('capitulo_secciones','capitulos.id','=','capitulo_secciones.capitulo_id')
    ->join('capitulo_videos','capitulos.id','=','capitulo_secciones.capitulo_id')
    ->where('capitulos.id',$id);

     return view('administrador.capitulos.show')->with(['data'=>$data]);
}

我想在不使用foreach循环的情况下将数据传递到Laravel中的视图中,但是它一直显示未定义变量的错误

我读到您使用get()函数检索数据集合,而使用first()只能得到一个数据。

**更新:**在我的代码中添加get()之后,显示新错误 error

这就是我的看法

<div class="row" id="contenido-cursos">
      <div class="justify-content-between flex-wrap align-items-center pb-2 mb-3 ">
      <h2 class="title">Capítulo 1</h2>
      <h1 class="nombre-capitulo"> {{ $data->capitulo }}</h1>
      <div class="linea-capitulo"></div>
      <p id="titulo-capitulo">{{$data->descripcion}}</p>

      <h2 class="title sub">Contenido</h2>
      <p class="contenidocap"><br>{{$data->contenido}}</p>

      <a class="btn btn-theme btn-block title extras" href="#"><img src="{{asset('assets/img/recursos.png')}}">  {{ __('Descargar Cap1.pdf') }}</a>

      <a class="btn btn-theme btn-block title extras" href="#"><img src="{{asset('assets/img/test.png')}}">  {{ __('Hacer Test 1') }}</a>
      </div>
    </div>

1 个答案:

答案 0 :(得分:4)

您正在定义查询,但不执行查询。 将where()join()串联后,您必须调用get()来检索查询结果。